利用Temp目录生成临时文件

通过Excel模板导入数据的功能需要先把带数据的Excel文件上传到后台,然后再读取EXCEL。

臃肿的做法:

 1  //获取Execle文件名  DateTime日期函数  
 2 string tm = Convert.ToDateTime(DateTime.Now).ToString("yyyyMMdd");
 3 string serverPath = ConfigurationManager.AppSettings["AttPhyPath"] + "\\Excel\\" + tm;
 4 if (!Directory.Exists(serverPath))  {
 5       Directory.CreateDirectory(serverPath);
 6 }
 7 string fileNames = Convert.ToDateTime(DateTime.Now).ToString("yyyyMMddHHmmss") + "_" + userInfo.UserData.OrgName + "_" + System.IO.Path.GetFileName(postFile.FileName);
 8 postFile.SaveAs(Path.Combine(serverPath, fileNames));
 9 ExportExcel xls = new ExportExcel();
10 DataTable dt = xls.ExcelToDataTable(serverPath + "\\" + fileNames, "Sheet1", true);

建议的做法:

1 string tempFileName = System.IO.Path.GetTempFileName();
2 postFile.SaveAs(tempFileName);
3 
4 ExportExcel xls = new ExportExcel();
5 DataTable dt = xls.ExcelToDataTable(tempFileName, "Sheet1", true);
System.IO.Path.GetTempFileName() 会创建唯一命名的零字节的临时文件并返回其绝对路径,比如:C:/Windows/Temp/tmpAD.tmp
 
 
什么是Temp目录?
用来存储在文件操作过程中的临时文件,比如安装软件、解压缩*.rar压缩包之类的操作都会先把必要的文件复制到Temp目录。
Temp目录会不会自动删除?
Temp目录不会自动删除,日复一日,月复一月,Temp目录下的文件越来越多,浪费磁盘空间是次要的,严重的是这些小文件会逐渐形成磁盘碎片,影响了读写速度,所以要定期进行手工删除。
 
 

猜你喜欢

转载自www.cnblogs.com/xeonet/p/10365512.html