2
我有以下代码:保存多个文件
[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
。
我看来,像这两个文件具有相同的名称和另存为不能覆盖现有文件。因此,也许System.IO.File.Exist(路径)在这里帮助或确保文件名是唯一的 – bembii
我确实需要覆盖文件,以防万一他们想更新文件。 –
请注意,用户可能希望覆盖具有相同名称的相同文件。 –