Java 在使用spring上传文件时,为什么在config CommonsMultipartResolver之后需要config MultipartFilter?

Java 在使用spring上传文件时,为什么在config CommonsMultipartResolver之后需要config MultipartFilter?,java,spring,file,Java,Spring,File,我正在开发一个用于文件上传的API,需要一个代理。不使用代理时,仅添加配置: <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- one of the properties available; the maximum file size in bytes 400m --> &l

我正在开发一个用于文件上传的API,需要一个代理。不使用代理时,仅添加配置:

<bean id="multipartResolver"
      class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- one of the properties available; the maximum file size in bytes 400m -->
    <property name="maxUploadSize" value="419430400" />
</bean>
但是添加一个代理,它不起作用,代理:

@RequestMapping("/**")
@ResponseBody
public String mirror(@RequestBody(required = false) String body, HttpMethod method, HttpServletRequest request, HttpServletResponse response) throws URISyntaxException {
    ...
    try {
        restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
        restTemplate.setRequestFactory(new CloudClientHttpRequestFactory(30000, 5000));
        ResponseEntity<String> responseEntity = restTemplate.exchange(uri, HttpMethod.valueOf(request.getMethod()), entity, String.class);
        String responseBody = responseEntity.getBody();
@RequestMapping(“/**”)
@应答器
公共字符串镜像(@RequestBody(required=false)字符串体、HttpMethod方法、HttpServletRequest请求、HttpServletResponse响应)抛出URI语法异常{
...
试一试{
restemplate.getMessageConverters().add(0,新的StringHttpMessageConverter(Charset.forName(“UTF-8”));
setRequestFactory(新CloudClientHttpRequestFactory(300005000));
ResponseEntity ResponseEntity=restemplate.exchange(uri,HttpMethod.valueOf(request.getMethod()),entity,String.class);
字符串responseBody=responseEntity.getBody();

但是当我在proxy web.xml中添加MultipartFilter时,它也可以工作。为什么?有人可以帮我吗?提前谢谢。我在谷歌上搜索过,但找不到满意的答案。

这是什么
CloudClientHttpPrequestFactory
?很抱歉解释一下,这是一个扩展SimpleClientHttpRequestFactory的类
@RequestMapping("/**")
@ResponseBody
public String mirror(@RequestBody(required = false) String body, HttpMethod method, HttpServletRequest request, HttpServletResponse response) throws URISyntaxException {
    ...
    try {
        restTemplate.getMessageConverters().add(0, new StringHttpMessageConverter(Charset.forName("UTF-8")));
        restTemplate.setRequestFactory(new CloudClientHttpRequestFactory(30000, 5000));
        ResponseEntity<String> responseEntity = restTemplate.exchange(uri, HttpMethod.valueOf(request.getMethod()), entity, String.class);
        String responseBody = responseEntity.getBody();