我正在尝试将csv文件发送到我的java spring boot后端。发送我的文件的代码如下:
var url = 'http://localhost:3001/UploadFile';
var file = this.state.file;
var formData = new FormData();
formData.append("file", file);
axios.post(url, formData, {
headers: { 'Content-Type': 'multipart/form-data' }
});
从Spring Boot接受我的文件的代码:
@CrossOrigin
@RequestMapping("/UploadFile")
@ResponseBody
public void uploadFile(@RequestParam("file") MultipartFile file) {
}
然而,它似乎不起作用。我一直收到错误,说“当前请求不是多部分请求”。有什么想法吗?
答案 0 :(得分:1)
在前端中指定内容类型还不够,您还需要在控制器中指定内容类型。 您应该告诉spring controller 要消耗什么,最好将RequestMethod设置为 POST ,如下所示:
@CrossOrigin
@RequestMapping("/UploadFile")
@ResponseBody
public void uploadFile(@RequestParam("file") MultipartFile file, method = RequestMethod.POST, consumes = "multipart/form-data") {
}