ASP.NET MVC上傳檔案是必段撐握的知識。加強訓練才是。
以前Insus.NET曾使用第三方MyAjaxForm.js
或者是jQuery的Uploadify元件:javascript:void(0)
還有一篇可以參考的,VS标準标簽input 的type="file"
今天還是參考上面最後篇,實作上傳單一或是多個檔案,不過文法有所改變:
建立一個控制,一個視圖操作,一個操作是處理上傳檔案方法:
代碼:public ActionResult UploadFile()
{
return View();
}
[HttpPost]
public ActionResult ProcessUploadFiles(IEnumerable<HttpPostedFileBase> filename)
{
foreach (var file in filename)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Temp"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("UploadFile");
}
View Code
再來看看視圖的實作:
上面的filename名字需要比對。如果不一樣,在運作時會呈現異常,參考下面動畫示範:
如果需要同時上傳多個檔案,我們隻管拉多幾個:
<input type="file" name="filename" id="file1" />
如同時上傳3個: