ASP.NET如何遍历服务器端文件夹内的文件然后绑定数据库?

ASP.NET如何遍历服务器端文件夹内的文件然后绑定数据库?,第1张

这个不是用sql来搞定的吧。

个人感觉应该用服务器端代码来实现。

DirectoryInfo dirInfo = new DirectoryInfo("路径")

//参数一:文件类型(如果所有文件就是*)

//参数二:是否查找目录下的子目录

FileSystemInfo [] files = dirInfo.GetFileSystemInfos("*.jpg", DirectoryInfo.GetFileSystemInfos)

DataGrid.DataSource = files

DataGrid1.DataBind()

//剩下的,你只要前台把文件的个个属性对应上就可以了。FileSystemInfo类有哪些属性,建议去msdn上面查一下。

packagecom.hmilyld.expimportjava.io.FilepublicclassListFile{privatelong[]count=newlong[]{0,0}privateFilefileprivatelong[]listFile(Stringpath){file=newFile(path)File[]f=file.listFiles()for(inti=0i

例如:在C:\TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt两个文件。

1. os.walk

os.walk()返回一个三元素的tuple:当前路径、子文件夹名称、文件列表。

>>>import os

>>>def fun( path ):

... for root, dirs, files in os.walk( path ):

... for fn in files:

... print root, fn

...

>>>fun( r'C:\TDDOWNLOAD' )

C:\TDDOWNLOAD a.txt

C:\TDDOWNLOAD b.txt

C:\TDDOWNLOAD\sub1 c.txt

C:\TDDOWNLOAD\sub1 d.txt

>>>

2. glob.glob

glob.glob()只接受一个参数,这个参数既代有路径,又代有匹配模式,返回值为一个列表。注意,glob.glob()无法直接穿透子文件夹,需要自己处理:

>>>def fun( path ):

... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件

... if os.path.isdir( fn ): # 如果结果为文件夹

... fun( fn ) # 递归

... else:

... print fn

...

>>>fun( r'C:\TDDOWNLOAD' )

C:\TDDOWNLOAD\a.txt

C:\TDDOWNLOAD\b.txt

C:\TDDOWNLOAD\sub1\c.txt

C:\TDDOWNLOAD\sub1\d.txt

>>>

'*'为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/327334.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存