SpringMVC的文件上传功能

  spring MVC为文件上传提供了直接的支持,这种支持是通过即插即用的MultipartResolver(接口)实现的。Spring 用Jakarta Commons FileUpload技术实现了一个MultipartResolver实现类:CommonsMultipartResovler
  Spring MVC 上下文中默认没有装配MultipartResovler,因此默认情况下不能处理文件的上传工作,如果想使用Spring 的文件上传功能,需先在上下文中配置MultipartResolver。
  下面展示如何配置CommonsMultipartResovler,以及如何使用上传文件功能:
  
  
导入jar包:

image_1b1g674tqj56o151iba18fu137r9.png-4.4kB
配置CommonsMultipartResovler:

<bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- defaultEncoding: 必须和用户JSP 的pageEncoding属性一致,以便正确解析表单的内容 -->
        <property name="defaultEncoding" value="UTF-8"></property>
        <!-- 指定上传的文件最大不能超过1000KB -->
        <property name="maxInMemorySize" value="1024000"></property>
        <!-- 还可以指定其他属性... -->
    </bean>

上传示例:


index.jsp

<form action="testUpload" method="post" enctype="multipart/form-data">
        File:<input type="file" name="file" /> 
        Description:<input type="text" name="des" /> 
        <input type="submit" value="Upload" />
    </form>

controller

@RequestMapping("/testUpload")
    public String testUpload(@RequestParam("file") MultipartFile file, @RequestParam("des") String des)
            throws IllegalStateException, IOException {
        if (!file.isEmpty()) {
            System.out.println("des : " + des);
            file.transferTo(new File("G:/UploadTest/" + file.getOriginalFilename()));
        }
        return SUCCESS;
    }

运行程序:

image_1b1g6gesri3q1dsp50svkapq2m.png-11.4kB

在index.jsp选择一个文本文件test.txt,文本中输入MY TEXT,点击Upload:

控制台输出:
image_1b1g6j1e71b9tiaepd1fs0142c13.png-2.7kB

且 G:/UploadTest/ 目录下获取到了该文件:

image_1b1g6k63212tci7e145h19gu1f5h1g.png-10.3kB

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值