在后端使用多部分/表单数据和SpringBoot发送文件
我正在尝试使用axios从vue.js发送文件,并在基于spring的后端接收它。 这是我的前端部分:在后端使用多部分/表单数据和SpringBoot发送文件,spring,vue.js,axios,multipartform-data,Spring,Vue.js,Axios,Multipartform Data,我正在尝试使用axios从vue.js发送文件,并在基于spring的后端接收它。 这是我的前端部分: uploadMap(context, map){ console.log('uploading map...') const formData = new FormData(); formData.append("file", map); axios.post("/info/map/upload", formData)
uploadMap(context, map){
console.log('uploading map...')
const formData = new FormData();
formData.append("file", map);
axios.post("/info/map/upload", formData)
.then(function (result) {
console.log(result);
}, function (error) {
console.log(error);
});
},
在后端:
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE, value = "/info/uploadFile")
public void uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
System.out.println("file uploaded");
String basePath = "/Users/admin/software/app1/uploads/";
String filePath = basePath + file.getOriginalFilename();
File dest = new File(filePath);
file.transferTo(dest);
}
后端部分在使用失眠/邮递员进行测试时工作。但当我想调用我的前端代码时,我会退缩:
2020-02-23 17:38:52.038 WARN 61799 --- [nio-5000-exec-5] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content type 'multipart/form-data;boundary=----WebKitFormBoundary2cAmVUpGnPfkQax3' not supported]
我该怎么处理呢?
提前感谢将依赖项添加到Maven配置中:
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
前端使用路径
/info/map/upload
,而控制器的方法有不同的映射。可以吗?
@Bean(name = "multipartResolver")
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
return multipartResolver;
}