进程无法访问该文件,因为它正由另一个进程使用 - FileUpload按钮

时间:2011-07-10 23:18:17

标签: asp.net file-upload azure

我确实浏览了所有其他答案,但仍然无法弄清楚出了什么问题。 我在Azure项目中尝试了一个简单的fileUpload

可能是因为我没有关闭文件流。 以下是我的代码:

protected void UploadButton_Click(Object sender, EventArgs e)
{
    if (FileUpload1.HasFile)
    {
        try
        {
            if (FileUpload1.PostedFile.ContentType == "zip/rar/tar")
            {
                string fileName = FileUpload1.FileName;
                FileUpload1.SaveAs(Server.MapPath("~/") + fileName);
                Label2.Text = "File Uploaded Successfully !";
            }
            else
            {
                Label2.Text = "File type not allowed.";
            }
        }
        catch (Exception ex)
        {
            Label2.Text = "Error in File Upload. Please upload a zip/tar/rar file containing your text files.";
        }           
    }
}

我应该如何关闭文件流?

由于 Supraja

1 个答案:

答案 0 :(得分:1)

嗯,错误信息说明了一切。您尝试保存的文件由“某物”使用,因此它已被锁定。尝试更改文件名,它应该没有错误,至少一次。如果可以,RD到服务器,并尝试手动删除该文件,它将告诉使用该文件的程序。 SaveAs方法不应该要求处理,但如果有一个Close()方法,则调用该方法。否则,如果存在Dispose()方法,则在SaveAs()之后调用该方法,它应该可以正常工作。