我的多部分文件在我的正面和背面之间消失

qlvxas9a  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(281)

我有一个使用SpringBoot的Java11应用程序。
我的请求控制器中有此请求:

  1. @RestController
  2. public class ImportController {
  3. private static final Logger LOGGER = LoggerFactory.getLogger(ImportController.class);
  4. @PostMapping("/import")
  5. public ResponseEntity<List<CompareAnalysis>> importXML(@RequestParam("files") List<MultipartFile> files) {
  6. LOGGER.debug("issue here" + files.size());
  7. ...
  8. }
  9. }

在生成我的战争后,我把它放在我的tomcat vanilla 9.0.45中。
当我尝试这样调用我的应用程序时: curl -X POST -F 'files=@toto.pdf' http://localhost:8080/import/ ,我的日志中始终有:

  1. 17:22:33.461 [http-nio-8080-exec-3] DEBUG my.app.controler.ImportController - issue here 0

我不知道我在哪里丢失了我的多部分文件。。。

axzmvihb

axzmvihb1#

我终于发现了问题:我错过了初始化器中的配置。
就像我在这个网站上看到的https://www.dev2qa.com/spring-mvc-file-upload-unable-to-process-parts-as-no-multi-part-configuration-has-been-provided/ 我在初始值设定项中添加multipart元素

  1. public class AppInitializer implements WebApplicationInitializer {
  2. @Override
  3. public void onStartup(ServletContext container) throws ServletException {
  4. ...
  5. MultipartConfigElement multipartConfig = new MultipartConfigElement("/tmp");
  6. dispatcher.setMultipartConfig(multipartConfig);
  7. dispatcher.setLoadOnStartup(1);
  8. dispatcher.addMapping("*.html");
  9. FilterRegistration.Dynamic multipartFilter = container.addFilter("multipartFilter", MultipartFilter.class);
  10. multipartFilter.addMappingForUrlPatterns(null, true, "/*");
  11. }
  12. }

它为我解决了一切。

展开查看全部

相关问题