最近在做了一个文件批量导入数据库的功能。一上午导了2000多张图片,很是过瘾,但还不满足,这里面应该还有很多待挖掘的东西.
比如如何获取一个文件夹下面的所有子文件和子目录,还统计整个文件夹所占的磁盘空间,我下面的代码不够只能智能,获取某个目录下面的子目录集合,只能手动加foreach实现,可否用一个foreache
protected void GetFileInfo()
{
List<mdl.Product> modelList = new List<mdl.Product>();
string rootPath = "Picture/Import";//根目录下面的文件夹名称
string mapPath = Server.MapPath("~/" + rootPath);
DirectoryInfo rootDir = new DirectoryInfo(mapPath);//获取文件夹Picture对象
DirectoryInfo[] dirs = rootDir.GetDirectories();////获取文件夹Picture下面的子文件夹对象集合
try
{
foreach (var subDir in dirs)//1、2、3、4、5、6文件夹(系列ID)
{
foreach (var itemFile in subDir.GetFiles())
{
mdl.Product model = new mdl.Product();
//图片名字作为数据表对象Title字段
model.CnTitle = itemFile.Name.Replace(".jpg", "").Replace(".JPG", "")+"#";
model.EnTitle = model.CnTitle;
model.TypeID = Convert.ToInt32(subDir.Name);//subDir.Name文件夹名称,即1、2、3、4、5、6
var pic = rootPath + "/" + subDir.Name + "/" + itemFile.Name;
//最终输出Picture/Import/1/2012-0912-334.jpgzhuru诸如此类的路径