我有以下代码:
[HttpPost]
public ActionResult FileUploadMultiple(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
if (file != null)
{
var fileName = Path.GetFileName(file.FileName);
string extension = Path.GetExtension(file.FileName);
var path = Path.Combine("C://Reports//36000", fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}
我正在测试2个文件 - 因此它应该循环两次。第一个保存到给定路径罚款。当代码进入并尝试执行第二个文件时,我收到以下消息:
该进程无法访问文件“C:\ Reports \ 36000 \ Report#36028.pdf”,因为它正由另一个进程使用。
我想我需要处理,但是,当我尝试file.Dispose()
时,这在Intellisense
中似乎不正确。
答案 0 :(得分:1)
您可以在保存之前尝试删除现有文件:
if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
file.SaveAs(path);