我有同样的问题
@using (Html.BeginForm("CreateRequest","SupportRequest",FormMethod.Post,new { id = "frmStemplate",enctype = "multipart/form-data" })) { <td><input type="file" name="FirstFile" id="FirstFile" class="button" /> <input type="button" class="button" id="FirstFileupload" value="upload" onclick="Javascript:DocumentUpload();"/> } <script language="javascript" type="text/javascript"> function DocumentUpload() { var BrowseFile = $('#FirstFile').val(); if (BrowseFile != null && BrowseFile != "") { alert(BrowseFile); $.ajax({ type: 'POST',dataType: 'json',url: '@Url.Content("~/SupportRequest/UploadFiles")?fileElementId=' + BrowseFile,success: function (data) { alert('Hi'); //debugger; if (data.Result == "SUCCESS") { alert('Hi'); } else { ShowInfo('Document Uploaded Successfully'); } } }); } } </script>
在控制器方面,我有:
[AcceptVerbs(HttpVerbs.Post)] public ActionResult UploadFiles(string fileElementId,FormCollection formColl) { var FirstFile = Request.Files; foreach (string upload in Request.Files) { if (!Request.Files[upload].HasFile()) continue; string path = AppDomain.CurrentDomain.BaseDirectory + "uploads/"; string filename = Path.GetFileName(Request.Files[upload].FileName); Request.Files[upload].SaveAs(Path.Combine(path,filename)); } return Json(new { Filename = "" }); }
但是我的Request.Files总是为空.