我正在尝试将一个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) {
}
但是,它似乎不起作用。我不断收到错误消息,说“当前请求不是多部分请求”。有任何想法吗?
在前端中指定内容类型还不够,您还需要在控制器中指定内容类型。您应该告诉spring控制器它应该消耗什么,并且最好将RequestMethod设置为POST就像这样:
@CrossOrigin
@RequestMapping("/UploadFile")
@ResponseBody
public void uploadFile(@RequestParam("file") MultipartFile file, method = RequestMethod.POST, consumes = "multipart/form-data") {
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句