Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有Spring引导Rest服务的多部分_Spring_Rest_Spring Mvc_Spring Boot - Fatal编程技术网

带有Spring引导Rest服务的多部分

带有Spring引导Rest服务的多部分,spring,rest,spring-mvc,spring-boot,Spring,Rest,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

我有一个REST服务,定义如下

@RequestMapping(value = "/{userId}/profileimage/{language}", method = RequestMethod.PUT)
public String uploadProfileImage(@PathVariable String userId, @RequestParam MultipartFile file, @PathVariable String language) throws IOException { ...}
并定义了一个多部分过滤器

@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;
}
但当我向REST服务发送多部分消息时,仍然会出现以下异常:

路径为[/dev]的上下文中Servlet[dispatcherServlet]的Servlet.service引发异常[请求处理失败;嵌套异常为java.lang.IllegalArgumentException:预期的MultipartTTpServletRequest:是否配置了MultipartResolver?]

该服务由spring security作为辅助信息进行保护,spring引导在启动时记录以下内容

添加了现有的过滤器初始值设定项bean“multipartFilter”;order=2147483647,resource=class路径资源[com/fl/wir/config/MvcConfigurations.class]

将筛选器:“multipartFilter”映射到URL:[/*]

多部件自动配置 -@ConditionalOnClass类:javax.servlet.servlet,org.springframework.web.multipart.support.StandardServletMultipartResolver,javax.servlet.MultipartConfigElement OnClassCondition -匹配的属性条件

DispatcherServletAutoConfiguration.DispatcherServletConfigurationmultipartResolver -@ConditionalOnMissingBean名称:multipartResolver;SearchStrategy:all在BeanCondition上找到以下[multipartResolver]

你知道我为什么还是有例外吗?
使用Spring Boot 1.2.3.RELEASE

您将变得非常复杂,要启用文件上载,只需在application.properties中正确配置文件即可

从已经使用的注释来看,确保类路径上有SpringWebMVC


然而,还有一件事,那就是文件上传将不会有任何其他请求,所以PUT将不起作用

您正在变得复杂,要启用文件上载,只需在application.properties中正确配置文件即可

从已经使用的注释来看,确保类路径上有SpringWebMVC


然而,还有一件事,那就是文件上传将不会有任何其他请求,所以PUT将不起作用

不要指定这些,只需将添加到application.properties即可。此外,文件上载和放置也不起作用,仅适用于POST。不要指定这些内容,只需将添加到application.properties即可。此外,文件上传和放置也不起作用,只适用于POST。主要问题是我使用了PUT。rest是开箱即用的,但错误消息并没有真正帮助我找到答案。要支持PUT,主要问题是我使用了PUT。rest是开箱即用的,但错误消息并不能真正帮助我找到答案
@Bean
public MultipartConfigElement multipartConfigElement(){
    MultipartConfigElement config = new MultipartConfigElement("");
    return config;
}
multipart.enabled=true