jQuery-文件上傳問題解決


后端要求文件上傳需傳參數為二進制流,用form-data方式傳遞,如下圖所示:

 

 

 

 為了滿足該輸入參數要求,上傳代碼如下:

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,無需再次設置,且無需對數據做處理。

3.cache需為false,上傳文件不需要緩存,可去掉,不影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM