jQuery-文件上傳問題解決

後端要求文件上傳需傳參數爲二進制流,用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

相關文章
相關標籤/搜索