保存多个文件

本文关键字:文件 保存 | 更新日期: 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);