HttpPostedFileBase.SaveAs()方法保持文件打开?

时间:2015-11-09 13:42:00

标签: c# asp.net asp.net-mvc

我正在使用以下方法将上传的文件保存在ASP.Net MVC应用程序中:

public static void SaveFile(HttpPostedFileBase file, string relativePath)
{
    string absolutePath = HttpContext.Current.Server.MapPath(relativePath);            
    file.SaveAs(absolutePath);
}

我使用以下方法删除文件:

public static bool DeleteFile(string relativePath)
{
    string absolutePath = HttpContext.Current.Server.MapPath(relativePath);
    if (File.Exists(absolutePath))
    {
        File.Delete(absolutePath)                
        return true;                            
    }
    return false;
}

当我尝试在上传文件后立即删除文件时,无法将其删除。 File.Delete(absolutePath)锁定。重启iisexpress后,它成功删除了该文件。我使用Process Explorer检查文件是否在任何其他应用程序中打开。它在iisexpress中开放。 HttpPostedFileBase.SaveAs()方法是否保持文件打开?

修改 我通过ajax调用调用这些方法。

0 个答案:

没有答案