SpringBoot+Jquery
1.单文件
前端Jquery
var url="..........";//上传地址
formData = new FormData();
//uploadFile就是后台接收的文件参数名称
formData.append('uploadFile', $('#file')[0].files[0]);
jQuery.ajax({
type: 'post',
url: url,
data: formData,
contentType: false,
processData: false,
success: function (data) {
alert("success");
}
})
后台接收
@RequestMapping(value = "/pic/upload", method = RequestMethod.POST)
public Response upload(@RequestParam("uploadFile") MultipartFile uploadFile) throws IOException {
if (null == uploadFile) {
return response("上传失败,无法找到文件!");
}
// BMP、JPG、JPEG、PNG、GIF
String fileName = uploadFile.getOriginalFilename().toLowerCase();
if (!fileName.endsWith(".bmp") && !fileName.endsWith(".jpg")
&& !fileName.endsWith(".jpeg") && !fileName.endsWith(".png")
&& !fileName.endsWith(".gif")) {
return response("上传失败,请选择BMP、JPG、JPEG、PNG、GIF文件!");
}
//逻辑处理
return response("成功");
}
注:springboot文件上传时注意配置文件大小限制,参考https://blog.csdn.net/sinat_34888853/article/details/86237837
2.多文件
页面js
<body>
<form id="form111" enctype="multipart/form-data" method="post" action="#">
<!-- 这个可以选择多个文件,而且只可以选图片 -->
<input type="file" name="files" multiple id="test">
<input type="button" id="btn">
</form>
</body>
<script src="js/jquery.min.js"></script>
<script>
$(function () {
$("#btn").click(function () {
var formData = {};
formData = new FormData();
var this_1= document.getElementById('test');
var files = this_1.files;
for (var i = 0, len = files.length; i < len; i++) {
formData.append('uploadFile', files[i]);
}
jQuery.ajax({
type: 'post',
url: "/user/console/multiImport",
data: formData,
contentType: false,
processData: false,
success: function (data) {
},
error: function () {
}
})
})
})
</script>
后端接收:
@RequestMapping(value = "/multiImport", method = RequestMethod.POST)
@ResponseBody
public Map<String, Object> multiImport(@RequestParam("uploadFile") MultipartFile[] uploadFile) {
Map<String, Object> result = new HashMap<String, Object>();
System.out.println(uploadFile.length);
for (MultipartFile multipartFile:uploadFile) {
System.out.println("文件"+multipartFile.getOriginalFilename());
}
return result;
}