我在MVC中創建一個包含多個文件上傳器的頁面。enumerable,在mvc中循環
我想達到的目標是,當我提交值上傳應該被命名爲圖像和遞增i
超值,喜歡guid0
,guid1
,guid2
。我嘗試了循環,但它只保存一個圖像,直到循環結束。 i++
雖然不工作。
我的控制器看起來是這樣的:
public ActionResult Home(SomeClass someclass, IEnumerable<HttpPostedFileBase> files)
{
var guid = Guid.NewGuid().ToString();
someclass.filename = guid;
int i = 0;
foreach (var file in files)
{
if (file.ContentLength > 0)
{
var fileName = guid + "" + i + ".jpg";
var path = Path.Combine(Server.MapPath("~/Content/admin/Upload"), fileName);
file.SaveAs(path);
i++;
}
}
db.someclasses.Add(someclass);
db.SaveChanges();
return RedirectToAction("Preview");
}
而我的觀點是這樣的
<input type="file" name="files" id=1>
<input type="file" name="files" id=2>
更新:我收到11個文件的,如果循環,但一旦他們經過在名爲fdea36c3-545a-4e08-8af4-7fa6bd88bc6b0的圖像文件夾中只有單個圖像。我試圖實現的是所有11個圖像命名爲fdea36c3-545a-4e08-8af4-7fa6bd88bc6b0,fdea36c3-545a-4e08-8af4-7fa6bd88bc6b1,fdea36c3-545a-4e08-8af4-7fa6bd88bc6b2 .....等等。
我不想爲每個文件這樣做,因爲它需要設置和從數據庫中檢索11個不同的圖像。感謝您的答案.... –
您確定來自多個文件上傳控件的文件可用於IEnumerable文件嗎? AFAIK,只有當文件控制設置爲多個屬性時,纔會獲得多個文件。 –
我在file.contenLength> 0我收到11個文件我有什麼辦法可以實現fdea36c3-545a-4e08-8af4-7fa6bd88bc6b0,fdea36c3-545a-4e08-8af4-7fa6bd88bc6b1哪裏最後一個數字串在int值 –