- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在我的 Spring Boot 应用程序中实现上传处理程序方法。我想使用 CommonsMultipartResolver
而不是 StandardServletMultipartResolver
。我遇到以下问题:
我的 Controller 方法参数(文件)始终设置为空。我在HiddenHttpMethodFilter
的java文档中看到:由于其固有的需要检查 POST 正文参数,因此在多部分 POST 请求的情况下,此过滤器需要在多部分处理后运行。
我尝试设置 multipartFilter bean 的顺序,但没有帮助。当我调试时,我发现 HiddenHttpMethodFilter
总是在 MultipartFilter
之前调用。我正在使用 Spring Boot 版本 1.3.0.RELEASE 和基于 Java 的配置。如何设置 HiddenHttpMethodFilter
在 MultipartFilter
之后的顺序?
@Bean(name = "multipartResolver")
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setMaxUploadSizePerFile(52428800);
return resolver;
}
@Bean
@Order(0)
public MultipartFilter multipartFilter() {
MultipartFilter multipartFilter = new MultipartFilter();
multipartFilter.setMultipartResolverBeanName("multipartResolver");
return multipartFilter;
}
@RequestMapping(value = "/{userId}", method = RequestMethod.POST)
@ResponseBody
public FileTransport create(@PathVariable("userId") Long userId,
MultipartFile file) throws IOException {
//return fileService.create(userId, file);
return new FileTransport();
}
如果我修改方法以包含请求参数,如下所示:
@RequestParam(name = "file", required = true) MultipartFile 文件
它抛出异常:“所需的 MultipartFile 参数‘文件’不存在”。
如果我使用StandardServletMultipartResolver
,一切都会按预期工作。
最佳答案
在 Spring Boot 中要使用 CommonsMultipartResolver,您需要通过在配置中添加以下注释来禁用 MultipartAutoConfiguration:
@EnableAutoConfiguration(exclude={MultipartAutoConfiguration.class})
我的多部分解析器 bean:
@Bean
public MultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(5 * 1024 * 1024);
return multipartResolver;
}
关于spring - 当我在 Spring Boot 应用程序中使用 CommonsMultipartResolver 时,MultipartFile 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37951569/
我正在尝试保存使用 multipart/mixed HTTP 请求上传的二进制文件,该请求作为 @RequestPart ByteArrayResource 到达我的 Controller ,但是当我
我用xml配置spring4很好用。像这样: --> 当我在没有 xml.like 的情况下配置 spring4 时: @Configuration @ComponentS
我需要在一个请求中支持多个文件上传。用户可以选择任意数量的文件并将其上传到服务器。我想限制每个文件不超过 10MB。我编写了下面的代码,但它将所有文件的总大小限制为小于 10MB,但我想限制每个文件
在实际应用程序中,我使用org.springframework.web.multipart.commons.CommonsMultipartResolver,其中定义maxUploadSize参数。所
我正在使用 CommonsMultipartResolver用于文件上传。
我正在尝试使用 Spring 的 CommonsMultipartResolver 作为 CommonsMultipartFile 从浏览器上传 PDF 文件。是否可以验证上传的文件是否仅为 PDF
我尝试在 Boot 中使用 CommonsMultipartResolver 将我的旧应用程序 (WAR) 转换为 Boot,现在它得到了以下代码: @Configuration public
我有以下情况。我有一个按以下方式配置的 CommonsMultipartResolver bean。 我在 Spring Web Flow View 状态 jsp 中有一些文件上传字段。 如果文件
我想在我的 Spring Boot 应用程序中实现上传处理程序方法。我想使用 CommonsMultipartResolver 而不是 StandardServletMultipartResolver
我是一名优秀的程序员,十分优秀!