在asp.net mvc中使用jQuery ajax上傳文件我的視圖中有一個文件<form id="upload" enctype="multipart/form-data">
<input type="file" name="fileUpload" id="fileUpload" size="23" /></form>和ajax請求$.ajax({
url: '<%=Url.Action("JsonSave","Survey") %>',
dataType: 'json',
processData: false,
contentType: "multipart/mixed",
data: {
Id: selectedRow.Id,
Value: 'some date was added by the user here :))'
},
cache: false,
success: function (data) {}});但Request.Files中沒有文件。ajax請求有什么問題?
3 回答

qq_笑_17
TA貢獻1818條經驗 獲得超7個贊
現在可以通過將FormData
對象傳遞給請求的data
屬性來上傳AJAX文件$.ajax
。
由于OP專門要求jQuery實現,所以你去:
<form?id="upload"?enctype="multipart/form-data"?action="@Url.Action("JsonSave",?"Survey")"?method="POST"> ????<input?type="file"?name="fileUpload"?id="fileUpload"?size="23"?/><br?/> ????<button>Upload!</button></form>
$('#upload').submit(function(e)?{ ????e.preventDefault();?//?stop?the?standard?form?submission ????$.ajax({ ????????url:?this.action, ????????type:?this.method, ????????data:?new?FormData(this), ????????cache:?false, ????????contentType:?false, ????????processData:?false, ????????success:?function?(data)?{ ????????????console.log(data.UploadedFileCount?+?'?file(s)?uploaded?successfully'); ????????}, ????????error:?function(xhr,?error,?status)?{ ????????????console.log(error,?status); ????????} ????});});
public?JsonResult?Survey(){ ????for?(int?i?=?0;?i?<?Request.Files.Count;?i++) ????{ ????????var?file?=?Request.Files[i]; ????????//?save?file?as?required?here... ????} ????return?Json(new?{?UploadedFileCount?=?Request.Files.Count?});}
- 3 回答
- 0 關注
- 1412 瀏覽
添加回答
舉報
0/150
提交
取消