jQuery-文件上传问题解决

会有一股神秘感。 提交于 2019-12-05 17:07:46

后端要求文件上传需传参数为二进制流,用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,上传文件不需要缓存,可去掉,不影响。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!