springMVC 创建Maven项目实现文件上传

本文详细介绍了如何使用SpringMVC和Maven创建一个文件上传项目。首先,通过在pom.xml中添加依赖并配置SpringMVC,接着创建uploadForm.jsp页面和Servlet控制器。然后,利用MultipartFile对象处理文件上传,包括创建Img实体类,以及上传成功后的跳转页面。最后,展示了项目结构和关键代码。
摘要由CSDN通过智能技术生成

主要内容:以实现文件上传目的,进行项目搭建。
     IDEA 2018.3;SpringMVC 4.3.21.RELEASE
使用springMVC框架要实现文件的上传下载要额外添加commons

CommonsMultipartResolver的属性解析

属性 描述
defaultEncoding 表示用来解析request请求的默认编码格式,当没有指定的时候根据Servlet规范会使用默认值ISO-8859-1。当request自己指明了它的编码格式的时候就会忽略这里指定的defaultEncoding。
uploadTempDir 设置上传文件时的临时目录,默认是Servlet容器的临时目录。
maxUploadSize 设置允许上传的总的最大文件大小,以字节为单位计算。当设为-1时表示无限制,默认是-1。
maxUploadSizePerFile 跟maxUploadSize差不多,不过maxUploadSizePerFile是限制每个上传文件的大小,而maxUploadSize是限制总的上传文件大小。
maxInMemorySize 设置在文件上传时允许写到内存中的最大值,以字节为单位计算,默认是10240。
resolveLazily 为true时,启用推迟文件解析,以便在UploadAction中捕获文件大小异常。

文件上传

1. 创建一个Maven项目,填写配置文件

  1. 在pom.xml文件中额外添加commons-fileupload-1.3.3.jar
<!-- commons-fileupload -->
        <dependency>
            <groupId>commons-fileupload</groupId>
            <artifactId>commons-fileupload</artifactId>
            <version>1.3.3</version>
        </dependency>
  1. 在springMVC配置文件内添加MultipartResolver配置
<!-- 注意:CommonsMultipartResolver的id是固定不变的,一定是multipartResolver,不可修改 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 如果上传后出现文件名中文乱码可以使用该属性解决 -->
        <property name="defaultEncoding" value="UTF-8"/>
        <!-- 单位是字节,不设置默认不限制总的上传文件大小,这里设置总的上传文件大小不超过10M(10*1024*1024) -->
        <property name="maxUploadSize" value="10485760"/>
        <!-- 跟maxUploadSize差不多,不过maxUploadSizePerFile是限制每个上传文件的大小,而maxUploadSize是限制总的上传文件大小 -->
        <property name="maxUploadSizePerFile" value="10485760"/>
    </bean>

2. 创建uploadForm.jsp页面和controller控制器

  1. uploadForm.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>文件上传</title>
</head>
<body>
<h1>文件上传</h1>
<form action="test/upload" enctype="multipart/form-data" method="post">
    <table>
        <tr>
            <td>请选择文件:</td>
            <td><input type="file" name="file"></td>
        </tr>
        <tr>
            <td><input type="submit" value="上传"></td>
        </tr>
    </table>
</form>
</body>
</html>
  1. Servlet .java
@Controller
@RequestMapping("/test")
public class Servlet {
   
    @PostMapping("/upload")
    public String upload(HttpServletRequest request, @RequestParam("file") MultipartFile file) 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值