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
我確實需要覆蓋文件,以防萬一他們想更新文件。 –
請注意,用戶可能希望覆蓋具有相同名稱的相同文件。 –