問題
在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" }
}