保存多个文件

时间:2013-02-01 15:20:45

标签: c#

我有以下代码:

    [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中似乎不正确。

1 个答案:

答案 0 :(得分:1)

您可以在保存之前尝试删除现有文件:

if (System.IO.File.Exists(path))
 System.IO.File.Delete(path);
file.SaveAs(path);