私はSpringブートアプリケーションでCommonsMultipartResolver
を使用しようとしています。私はStandardServletMultipartResolver
を使用することはできません。例外(ファイルサイズを超えるなど)を処理したいからです。SpringブートでCommonsMultipartResolverを設定できません1.2.8
私はcommons-fileupload
に依存関係を設定しました。私の春の構成は次のとおりです。
@Autowired
private MultipartProperties multipartProperties = new MultipartProperties();
@Bean
public MultipartConfigElement multipartConfigElement() {
return this.multipartProperties.createMultipartConfig();
}
@Bean
public MultipartResolver multipartResolver() {
LOG.debug("initializing MultipartResolver");
CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver();
return multipartResolver;
}
@Bean
public FilterRegistrationBean multipartFilterRegistrationBean() {
final MultipartFilter multipartFilter = new MultipartFilter();
final FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean(multipartFilter);
multipartFilter.setMultipartResolverBeanName("multipartResolver");
filterRegistrationBean.setOrder(OrderedHiddenHttpMethodFilter.DEFAULT_ORDER-1);
return filterRegistrationBean;
}
私は前HiddenHttpMethodFilter
に実行されるようにMultipartFilter
を設定するとき、私はIOException
を得る:
Caused by: java.io.IOException: Missing content for multipart request
at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:491)
at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(MultiPartInputStreamParser.java:400)
at org.eclipse.jetty.server.Request.getParts(Request.java:2139)
at org.eclipse.jetty.server.Request.extractMultipartParameters(Request.java:385)
... 35 common frames omitted
そうでなければ、私は、一部のパラメータが存在しないという例外を取得します要求に含まれます。
私は、サーブレット3.0のマルチパートリクエストの処理を無効にする必要があると考えていますが、春の起動時にどのように行うのか分かりません。
スタックトレースで判断すると、どこにも言及していないJettyを使用しているようです。他の矛盾を避けるために、問題を再現する最小の例を提供できますか? –