Adr*_*ian 1 rest spring spring-mvc spring-boot
我有一个REST服务定义如下
@RequestMapping(value = "/{userId}/profileimage/{language}", method = RequestMethod.PUT)
public String uploadProfileImage(@PathVariable String userId, @RequestParam MultipartFile file, @PathVariable String language) throws IOException { ...}
Run Code Online (Sandbox Code Playgroud)
并定义了一个多部分过滤器
@Bean
public FilterRegistrationBean multipartFilter() {
FilterRegistrationBean filterRegBean = new FilterRegistrationBean();
filterRegBean.setFilter(new MultipartFilter());
List<String> urlPatterns = new ArrayList<String>();
urlPatterns.add("/*");
filterRegBean.setUrlPatterns(urlPatterns);
return filterRegBean;
}
Run Code Online (Sandbox Code Playgroud)
以及multipartConfigElement
@Bean
public MultipartConfigElement multipartConfigElement(){
MultipartConfigElement config = new MultipartConfigElement("");
return config;
}
Run Code Online (Sandbox Code Playgroud)
但是当我向REST服务发送多部分消息时,我仍然得到以下异常:
Servlet [dispatcherServlet]的Servlet.service()在路径[/ dev]的上下文中引发异常[请求处理失败; 嵌套异常是java.lang.IllegalArgumentException:预期的MultipartHttpServletRequest:是否配置了MultipartResolver?]
该服务受Spring安全性保护(作为辅助信息),Spring Boot在启动时记录以下内容
添加了现有的Filter初始化bean'multipartFilter'; order = 2147483647,resource = class path resource [com/fl/wir/config/MvcConfigurations.class]
映射过滤器:'multipartFilter'到网址:[/*]
MultipartAutoConfiguration - 找到的@ConditionalOnClass类:javax.servlet.Servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver,javax.servlet.MultipartConfigElement(OnClassCondition) - 匹配(OnPropertyCondition)
DispatcherServletAutoConfiguration.DispatcherServletConfiguration#multipartResolver - @ConditionalOnMissingBean(names:multipartResolver; SearchStrategy:all)发现以下[multipartResolver](OnBeanCondition)
知道为什么我仍然得到例外吗?(使用Spring-Boot 1.2.3.RELEASE)
你是做它的方式复杂,使文件上传简单配置正确使用性质的application.properties.
multipart.enabled=true
Run Code Online (Sandbox Code Playgroud)
并确保你已经spring-webmvc在你的课程路径上(根据你已经使用的注释来判断).
但是还有另外一件事,那就是文件上传只适用于POST请求而不是其他任何请求,因此PUT将无法正常工作.
| 归档时间: |
|
| 查看次数: |
4856 次 |
| 最近记录: |