1.使用vantui+fetch实现 主要遇到两个问题: 问题一:后台接收不到file 问题二:后台返回json对象浏览器response返回空白 js代码
afterRead(file) {
file.status = 'uploading';
file.message = '上传中...';
let url = baseUrl + '/app/toUploadPic';
setTimeout(() => {
const fd = new FormData()
fd.append('file', file.file) //vant传的file是个对象,不是二进制文件 要file.file
fetch(url, {
method: 'POST',
body: fd
}).then(res => res.json(res)).then(res => {// 必须要带res.json(res) 不然后台返回的
//json接收不到
if (res.code == 200) {
file.url = res.url
file.status = 'success';
file.message = '上传成功';
} else {
file.status = 'failed';
file.message = '上传失败';
}
})
}, 1000);
},
java代码
@RequestMapping("/toUploadPic")
@ResponseBody
public JSONObject toUploadPic(MultipartFile file){
//业务逻辑
}