使用Vant Uploader 文件上传,后端java中MultipartFile接收不到文件问题解决

问题

在Uploader组件 after-read回调函数将获取的file对象上传到服务器。

<van-uploader:after-read="uploadFile"/>
uploadFile(file) {
     
	const data = new FormData();
	data.append("file", file);
	//使用axios上传文件到服务器,注意设置axios的headers为{ "Content-Type": "multipart/form-data" }
}

//后端接收
public void fileUpload(@RequestParam(value = "file", required = false) MultipartFile file)

接收file的值为null

解决

因为Uploader组件result-type默认为dataUrl:结果包含 File 对象,以及文件对应的 base64 编码。
所以FormData接收的参数应该是file.file,具体代码如下

uploadFile(file) {
     
	const data = new FormData();
	data.append("file", file.file); //上传的是 File 对象
	//使用axios上传文件到服务器,注意设置axios的headers为{ "Content-Type": "multipart/form-data" }
}

你可能感兴趣的:(#,Vue)