当前位置: 首页 > 知识库问答 >
问题:

尝试上载文件时,必需的MultipartFile参数“file”不存在错误

越狐若
2023-03-14

简单示例:jsp中的表单

<form method="post" action="/asd" enctype="multipart/form-data">
    <input type="file" class="file" name="file"/>
    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>    
    <input type="submit" value="Upload">    
</form>

我的控制器的方法

@RequestMapping(value = "/asd", method = RequestMethod.POST)
    public String handleFileUpload(
            @RequestParam("file") MultipartFile file){    
        System.out.print(file);    
        return "string";    
    }

我的上下文xml文件

 <bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- max upload size in bytes -->
        <property name="maxUploadSize" value="20971520" /> <!-- 20MB -->

        <!-- max size of file in memory (in bytes) -->
        <property name="maxInMemorySize" value="1048576" /> <!-- 1MB -->

    </bean>
<dependency>
      <groupId>commons-fileupload</groupId>
      <artifactId>commons-fileupload</artifactId>
      <version>1.3.1</version> <!-- makesure correct version here -->
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.4</version>
    </dependency>
<Context reloadable="true" allowCasualMultipartParsing="true">

描述由于被认为是客户端错误(例如,错误的请求语法、无效的请求消息帧或欺骗性的请求路由),服务器无法或不会处理请求。

Apache Tomcat/8.5.12

共有1个答案

庾才
2023-03-14

试试这个,

在web.xml文件中添加贝娄过滤器

web.xml

<!-- Support for File Upload And Download -->
 <filter>
<display-name>springMultipartFilter</display-name>
<filter-name>springMultipartFilter</filter-name>
<filter- class>org.springframework.web.multipart.support.MultipartFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>springMultipartFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- Support For File Upload And Download -->
<bean id="filterMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <property name="maxUploadSize" value="100000000" />

</bean>
 类似资料:
  • 背景 我正在Java8上构建一个Spring MVC web应用程序,并在Tomcat8上运行它。除了这些信息之外,Spring版本是和我给您介绍了环境背景,因为一些问题解决者提到该版本与此错误有关。 下面是我的表格 奇怪的事 是通过上传文件没有问题。它就像一个魅力!!对于我没有什么可抱怨的!! 我已经用这个关键字搜索了谷歌,并尽可能多地搜索,就像我在发布关于的问题之前经常做的那样 我真的不明白为

  • 问题内容: 我正在尝试使用上传文件。下面是我的代码如何工作,但是如果我尝试使用它,则会得到以下信息: HTTP状态400-所需的MultipartFile参数’file’不存在 我不明白错误是什么。 我正在使用高级Rest Client进行测试,并且正在将文件作为附件上传。 我的Java代码: 问题答案: 春天需要 bean处理文件上载。 您应该在文件中注册该bean 。 Content-Type

  • 这是我的控制器: 我的mvc-dispatcher-servlet.xml pom.xml:

  • 我正在尝试将文件上传到 Azure Blob 存储,但在将文件推送到存储中时收到错误。 我使用java 11和Quarkus进行开发。在POM上,我添加了工件azure-storage-blob和azure-sdk-bom 法典: 恢复错误 io.net.cha.DefaultChannelPipeline] (vert.x-eventloop-thread-2) 一个 exceptionCaug

  • 我有一个无法更改的spring API,它的post listener如下所示: 现在,我有另一个Spring boot API,需要在构建时发送POST请求,POST请求如下所示: ObjectWrapper如下所示: 当执行上述post请求时,它会从我这边引发异常 org.springframework.web.client.HttpClientErrorException$BadReques