我正在使用以下方法将上传的文件保存在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调用调用这些方法。