将表单数据上传到远程 Tomcat 服务器时,多部分为空



我对多部分文件有问题。我正在从前端(反应(上传一个文件并将其传递给我的后端,如下所示:

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 Boot 实现的,当它收到 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 时,请求正文为空。但是在本地运行项目它可以工作!我正在基于TomCat服务器上运行该应用程序。

我尝试在我的gradle版本中包含编译('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

我希望这是一个常见问题,并且有人已经解决了它,请帮助!

尝试将多部分/表单数据作为内容类型添加到您的请求中。

祝你好运!

相关内容

  • 没有找到相关文章

最新更新