java后端获取multipart/form-data传的文件及参数

  • Post author:
  • Post category:java


目前在做一个JavaWeb的开发工作,涉及到前端页面上传文件,Java后端接收前端传过来的 multipart/form-data 文件及参数,需对参数进行解析,并将文件保存到指定文件路径下。

前端要用multipart/form-data传输文件及参数,必须要使用post方式才可以请求到,所有的文件和参数均可在HttpServletRequest 中拿到。

我的项目用了spring-mvc的框架,改天写篇文章详细介绍一下如何用spring-mvc框架搭建JavaWeb。所以分为一下步骤:

(1)在项目pom.xml文件中引入相关依赖包

<!-- 文件上传依赖包 -->
<dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.3.3</version>
</dependency>
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.6</version>
</dependency>

(2)在spring-mvc的配置文件springmvc.xml中定义文件上传解析器,并配置相关参数。

<!-- 定义文件上传解析器 -->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!-- 设定默认编码 -->
    <property name="defaultEncoding" value="UTF-8"></property>
    <!-- 设定文件上传的最大值为5MB,5*1024*1024 -->
    <property name="maxUploadSize" value="5242880"></property>
    <!-- 设定文件上传时写入内存的最大值,如果小于这个参数不会生成临时文件,默认为10240 -->
    <property name="maxInMemorySize" value="40960"></property>
    <!-- 上传文件的临时路径 -->
    <property name="uploadTempDir" value="fileUpload/temp"></property>
    <!-- 延迟文件解析 -->
    <property name="resolveLazily" value="true"/>
</bean>

(3)在具体Controller类中接收并解析文件及参数,保存到指定路径。

在这里插入图片描述



版权声明:本文为LYY1448019681原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。