进程无法访问该文件,IIS中的另一个进程正在使用该文件
本文关键字:进程 文件 另一个 IIS 访问 | 更新日期: 2023-09-27 18:20:17
我收到这个错误"System.IO.IOException:进程无法访问文件"C:''inetpub''wwwroot''wmo''Content''UploadFolder''Ad-2015.xlsx",因为其他进程正在使用该文件。"。我使用mvc开发了我的应用程序,c#使用的是语言。我把我发布的文件放在IIS wwwroot文件夹中。我的代码是
public ActionResult ImportData(HttpPostedFileBase file)
{if (file != null)
{
if (Request.Files["file"].ContentLength > 0)
{
string fileExtension = System.IO.Path.GetExtension(Request.Files["file"].FileName);
if (fileExtension == ".xls" || fileExtension == ".xlsx")
{
string fileLocation = Server.MapPath("~/Content/UploadFolder/") + Request.Files["file"].FileName;
loc = fileLocation;
if (System.IO.File.Exists(fileLocation))
{
System.IO.File.Delete(fileLocation);
}
Request.Files["file"].SaveAs(fileLocation); }}}}
我从这行"System.IO.File.Delete(fileLocation);"
网站可能在未处理的进程中打开了它。检查在此点之前引用文件的任何IDisposable代码,并将其包装在using语句中。如果不处理,它将保持文件打开,并且您不能删除它。
是否使用FileStream实例而不通过using语句导入System.IO
?
这是我的代码,它正在按预期工作。
using (var fileStream = new FileStream(filePath, FileMode.Create))
{
model.PhotoPath.CopyTo(fileStream);
}