.net 批量上传文件 遍历文件
上传文件,可以批量上传
在前台创建选择文件控件:
1 <asp:FileUpload runat="server" ID="fupd" AllowMultiple="true" OnDataBinding="fupd_DataBinding" />
然后写一个触发按钮,按钮的事件为:
1 private void UploadImportFile() 2 { 3 HttpFileCollection files = HttpContext.Current.Request.Files; 4 var fileList = files.GetMultiple("fupd"); 5 for (int ifile = 0; ifile < fileList.Count; ifile++) 6 { 7 8 HttpPostedFile postedfile = fileList[ifile]; 9 string filename, fileExt; 10 filename = System.IO.Path.GetFileName(postedfile.FileName); //获取文件名 11 fileExt = System.IO.Path.GetExtension(filename); //获取文件后缀 12 int MaxAllowUploadFileSize = 100000; //定义允许上传文件大小 13 string allowexts = "xls|xlsx"; //定义允许上传文件类型 14 Regex allowext = new Regex(allowexts); 15 if (postedfile.ContentLength < MaxAllowUploadFileSize && allowext.IsMatch(fileExt)) //检查文件大小及扩展名 16 { 17 postedfile.SaveAs(Server.MapPath("~/ImportBaseInfo/" + filename)); //upload为与本页面同一目录,可自行修改 18 } 19 else 20 { 21 Response.Write("<script>alert('不允许上传类型" + fileExt + "。)</script>"); 22 } 23 } 24 }
应该是要引用using System.Web;
根据红色报错提示去引用吧,嘻嘻嘻嘻
然后就读取upload文件夹内的文件:
1 protected void btnImport_Click(object sender, EventArgs e) 2 { 3 UploadImportFile(); //将选择文件先上传至ImportBaseInfo文件夹 4 string resultStr = ""; 5 string filePath = Server.MapPath("~/ImportBaseInfo/"); 6 DirectoryInfo root = new DirectoryInfo(filePath); 7 FileInfo[] files = root.GetFiles(); //返回当前目录的文件列表 8 9 foreach (FileInfo f in files) 10 { 11 string name = f.Name; 12 string Extension = f.Extension; 13 string fullName = f.FullName; 14 //获取文件上传创建时间 15 DateTime createTime = f.LastWriteTime; 16 DateTime today = DateTime.Now; 17 //只遍历今天上传的文件 18 if(today.Date==createTime.Date) 19 { 20 if (Extension != ".xls" && Extension != ".xlsx") 21 { 22 MessageBox.Show(this, "您导入的\"" + name + "\"文件不正确,请确认后重试!"); 23 return; 24 } 25 /*这里写你需要的操作们*/ 26 } 27 28 //导入后删除服务器上的文件,以免下次导入时遍历所有的文件 29 //string[] filePaths = Directory.GetFiles(filePath); 30 //foreach (string filepath in filePaths) 31 //{ 32 // File.Delete(filepath); 33 //} 34 35 } 36 }
可以每次都删除这个文件夹的东西,以免下次遍历的时候浪费时间。
也可以根据文件的时间去筛选一下。
哎,我只有这种笨笨的方法了 希望对你有帮助呢/(ㄒoㄒ)/~~