SpringMVC实现文件上传

SpringMVC实现文件上传

SpringMVC提供了帮我们解析文件的类和组件,使得我们能更便捷的开发。

首先,我们需要配置一个文件解析器:

<!--注意,这里的id是固定写法-->
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    <!--这里可以指定上传文件最大为多少,以字节为单位-->
    <property name="maxUploadSize" value="10*1024*1024" />
</bean>

from表单也跟传统的不一样:

<!--enctype="multipart/form-data"是固定的-->
<form action="/user/fileupload2" method="post" enctype="multipart/form-data">
    选择文件:<input type="file" name="upload" /><br/>
    <input type="submit" value="上传" />
</form>

java代码:


@RequestMapping("/fileupload2")
//需要一个MultipartFile对象,名称必须跟表单里的name一样,都是upload
public String fileuoload2(HttpServletRequest request, MultipartFile upload) throws Exception {
    // 指定上传的位置
    String path = request.getSession().getServletContext().getRealPath("/upload/");
    // 判断,该路径是否存在
    File file = new File(path);
    if(!file.exists()){
        // 创建该文件夹
        file.mkdirs();
    }
    // 获取上传文件的名称
    String filename = upload.getOriginalFilename();
    // 把文件的名称设置唯一值,uuid
    String uuid = UUID.randomUUID().toString().replace("-", "");
    filename = uuid+"_"+filename;
    // 将文件上传
    upload.transferTo(new File(path,filename));
    return "success";
}

需要导入的jar包:

<dependency>
  <groupId>commons-fileupload</groupId>
  <artifactId>commons-fileupload</artifactId>
  <version>1.3.1</version>
</dependency>
<dependency>
  <groupId>commons-io</groupId>
  <artifactId>commons-io</artifactId>
  <version>2.4</version>
</dependency>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值