上传后删除文件

时间:2011-11-04 09:02:33

标签: asp.net file-upload

我正在尝试使用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();

3 个答案:

答案 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 是您要删除的文件的名称。 培育是文件夹的名称。