我想上傳多個文件,(在一次單擊和上傳中選擇多個文件)。爲此,我使用下面的代碼。我在MVC4這樣使用C上傳多個文件的問題#
@using (Html.BeginForm("Gallery", "Admin", FormMethod.Post, new {enctype="multipart/form-data", id = "GalleryForm" }))
{
@Html.ValidationSummary();
<div> Select the files to Upload<br /> <input type="file" name="file" id="file" multiple="multiple" /><br /><br /></div>
<div><input type="submit" name="submit" Value="Save"/></div>
}
控制器
[HttpPost]
public ActionResult Gallery(IEnumerable<HttpPostedFileBase> files)
{
foreach (var file in files)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Images/Gallery/"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}
如果我選擇多個文件,我得到了錯誤「最大請求長度超過了」當我selecet單一的文件,並嘗試然後上傳我出現錯誤「未將對象引用設置爲對象的實例」。其實我想用同樣的形式上傳單個和多個文件。怎麼可能。請幫幫我。在此先感謝
需要更多信息:顯示的代碼行是否顯示錯誤?這可能是foreach ..因爲參數名稱不匹配而爲空的文件。另請參閱此問題:http://stackoverflow.com/questions/8356506/how-to-write-html-beginform-in-razor和http://stackoverflow.com/questions/4232347/multiple-file-upload-using -request-filesfiles -mvc –
@DaviddCeFreitas:我想用「單輸入控制」上傳多個文件 – neel