0
我需要使用Ajax將其他幾個輸入數據連同上傳到ASP.NET MVC。我做了以下來實現:使用FormData上傳的文件在服務器端變爲空
var formData=new FormData();
formData.Append("uploadedFile",$('input[type="file"]')[0].files[0]);
$.ajax({
url: "/Test/TestFormData",
data: formData,
cache: false,
contentType: false,
processData: false,
dataType:"json",
type: 'POST'
});
我無法弄清楚如何處理這種與適當的模型綁定的服務器端(如果這是以往任何時候都可以),所以我決定通過鍵搜索表格去:
public class TestControler:Controller
public void TestFormData(){
var file=Request.Form["uploadedFile"];//file is null here
}
問題是file
當我嘗試訪問它時爲空。這裏的請求頭和有效載荷:
有什麼額外的我必須做的就是在服務器端的文件?
從這個[link](http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html#) – Lali
獲取幫助不幸的是,您提供的鏈接中的人使用iFrame來達到此目的。除了它是PHP。 –
它只是簡單地包含參數在您的POST方法 - 公共ActionResult TestFormData(HttpPostedFileBase uploadedFile)',如果你有一個窗體,那麼你可以使用'var formdata = new FormData($('form')。get 0));'這將序列化窗體和任何文件輸入(參考[這個答案](http://stackoverflow.com/questions/29293637/how-to-append-whole-set-of-model-to-formdata -and-obtain-it-in-mvc/29293681#29293681)) - 儘管你的行爲似乎沒問題 –