後端要求文件上傳需傳參數爲二進制流,用form-data方式傳遞,以下圖所示:ajax
爲了知足該輸入參數要求,上傳代碼以下:json
1 <input type="file" id="file" accept="image/*" capture='camera' multiple>
1 $('#file').change(function(){ 2 var formData = new FormData(); 3 formData.append('file', $('#file')[0].files[0]) 4 formData.append('fileName','fileName.png') 5 6 $.ajax({ 7 type: 'POST', 8 url: base + '/common/image/uploadImage', 9 data:formData, 10 cache: false, 11 processData: false, 12 contentType: false, 13 success: function(data){ 14 15 }, 16 error: function(data){ 17 18 }, 19 dataType: "json", 20 }) 21 })
須要注意如下幾點:後端
1新建一個FormData,而後append上key和value,包括文件內容和文件名。緩存
2.contentType和processData需爲false,由於FormData已經代表了contentType爲form-data,無需再次設置,且無需對數據作處理。app
3.cache需爲false,上傳文件不須要緩存,可去掉,不影響。url