0
我遇到了multipart文件的问题。我上传从前端(反应)的文件,并把它传递给我的后端是这样的:将formdata上传到远程Tomcat服务器时,Multipart为null
export function uploadExcelFile(files) {
const dataToTransfer = new FormData();
dataToTransfer.append('uploadedFile', files[0]);
return (dispatch) => {
const OPTIONS_POST_EXCEL = {
...OPTIONS_POST,
headers: {
},
body: dataToTransfer,
};
return fetch('/api/excelstuff/upload', OPTIONS_POST_EXCEL)
.then((res) => {
// do stuff to dispatch
})
.catch((err) => {
throw err;
});
};
}
后端是使用Spring的引导来实现,当它接收到FORMDATA,代码如下所示:
@RequestMapping(value="/upload", method = RequestMethod.POST, consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public ResponseEntity<List<MyList>> uploadExcelFile(@RequestBody MultipartFile uploadedFile) {
log.warn("Is multipartfile empty? {}", uploadedFile);
return excelImporterService.uploadExcelFile(uploadedFile);
}
}
当我将项目推送到CloudFoundry时,RequestBody为null。但在本地运行该项目它的工作原理!我正在基于TomCat Server运行应用程序。
我试过在我的gradle上编译compile('commons-fileupload:commons-fileupload:1.3.3')。并包括以下内容:
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
commonsMultipartResolver.setMaxUploadSize(-1);
return commonsMultipartResolver;
}
我已经在我的配置中包括这个(YML文件)
spring:
application:
name: somename
http:
multipart:
enabled: false
我希望这是一个普遍的问题,有人已经解决了这个问题很清楚,请帮忙!
试过了,它不起作用。添加它使本地主机失败:( –