使用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" }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章