保存多个文件
本文关键字:文件 保存 | 更新日期: 2023-09-27 17:57:05
我有以下代码:
[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
中似乎不正确.
在保存之前,您可以尝试这样做来删除现有文件:
if (System.IO.File.Exists(path))
System.IO.File.Delete(path);
file.SaveAs(path);