采用表单
1、上传单张图片
accept="image/*" 接受任何类型的图片
前端:
后台:
2、上传多张图片
前端:
<form action='/xxxx" method="xxx">
<input type="file" id="file1">
<input type="file" id="file2">
<input type="file" id="file3">
....
<input tyle="submit">
</form>
后台:
采用@RequestParam(“file1”) 、@RequestParam(“file2”)、@RequestParam(“file3”)、、、对应
采用ajax
出现如下bug:
- Unable to process parts as no multi-part configuration has been provided
- Required request part ‘file’ is not present。。。。。
- the request was rejected because no multipart boundary was found
可能有如下原因:
1、项目配置:【我这里是springboot项目配置】
- spring-servlet-multipart-enabled=true;【true默认开启】
- spring-http-multipart-enabled=true;【true默认开启】
2、可能是@RequestParam()注解名称和前端没对应上,
3、可能是前端获取文件没有传过去
解决方法:
- 可利用表单的FormData传递参数
- new FormData($("#表单id")).append(key,value); key对应上面的file1,file2…
- $(’#file’)[0].files[i-1]【value】获取对应文件/图片/…,
- 注意不要设置content-Type(会自动加上,否则就是画蛇添足),
- 并且取消序列化processData)
测试:
查看上传时的contentType是否为multipart/form-data; boundary=…: