我正在尝试使用FileUpload控件上传文件。上传文件时,我从中提取信息然后我想删除它。
我设法上传,保存并从中获取信息,但是当我尝试删除它时,我得到了以下异常 “该进程无法访问文件'D:\ IIS ** OMITTED *** \ V75 personal ny.csv',因为它正被另一个进程使用。
string fn = Path.GetFileName(fu.PostedFile.FileName);
string SaveLocation = Server.MapPath("UploadedCSVFiles") + "\\" + fn;
FileInfo fi = new FileInfo(SaveLocation);
fu.PostedFile.SaveAs(SaveLocation);
fu.PostedFile.InputStream.Dispose();
DataTable dt = AMethodThatUsesFile(SaveLocation);
fi.Delete();
答案 0 :(得分:7)
尝试使用此代码删除文件。
System.IO.File.Delete(SaveLocation );
您指定了一个方法AMethodThatUsesFile(SaveLocation);.如果它使用StreamReader之类的任何类来读取文件,请使用StreamReader.Close()关闭阅读器;尝试删除前的方法
答案 1 :(得分:1)
在删除之前处理fi
。然后我们File.Delete()
。记得在使用一次性物品时使用using语句,或在使用后将其丢弃。
答案 2 :(得分:0)
using System.io
File.Delete(Server.MapPath("../Nurturing/" + fnevents));
FileInfo fInfoEvent;
fInfoEvent = new FileInfo(fnevents);
fInfoEvent.Delete();
此处 fnevents 是您要删除的文件的名称。 培育是文件夹的名称。