SpringMVC学习--文件上传

Posted ngulc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringMVC学习--文件上传相关的知识,希望对你有一定的参考价值。

  • 简介

  文件上传是web开发中常见的需求之一,springMVC将文件上传进行了集成,可以方便快捷的进行开发。

  • springmvc中对多部件类型解析

 

  在 页面form中提交enctype="multipart/form-data"的数据时,需要springmvcmultipart类型的数据进行解析。在springmvc.xml中配置multipart类型解析器。

1 <!-- 文件上传 -->
2     <bean id="multipartResolver"
3         class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
4         <!-- 设置上传文件的最大尺寸为5MB -->
5         <property name="maxUploadSize">
6             <value>5242880</value>
7         </property>
8     </bean>
  • 加入上传图片的jar

    边的解析内部使用下边的jar进行图片上传。

 

  • 创建图片虚拟目录存储图片

  在tomcat上配置图片虚拟目录,在tomcatconf/server.xml中添加:

 

1 <Context docBase="F:\\develop\\upload\\temp" path="/pic" reloadable="false"/>

 

  访问http://localhost:8080/pic即可访问F:\\develop\\upload\\temp下的图片。

  • Controller代码
 1 //商品修改提交
 2     @RequestMapping("/editItemSubmit")
 3     public String editItemSubmit(Items items, MultipartFile pictureFile)throws Exception{
 4         
 5         //原始文件名称
 6         String pictureFile_name =  pictureFile.getOriginalFilename();
 7         //新文件名称
 8         String newFileName = UUID.randomUUID().toString()+pictureFile_name.substring(pictureFile_name.lastIndexOf("."));
 9         
10         //上传图片
11         File uploadPic = new java.io.File("F:/develop/upload/temp/"+newFileName);
12         
13         if(!uploadPic.exists()){
14             uploadPic.mkdirs();
15         }
16         //向磁盘写文件
17         pictureFile.transferTo(uploadPic);
18     ...
19 }

 

以上是关于SpringMVC学习--文件上传的主要内容,如果未能解决你的问题,请参考以下文章

学习SpringMVC必知必会~springmvc的数据校验表单标签文件上传和下载

学习笔记——SpringMVC文件上传与下载

Spring MVC 学习笔记 --- [SpringMVC的文件上传与拦截器,以及更新登录用户头像的简易案例]

一起学SpringMVC之文件上传

Spring MVC文件上传

JavaEE框架——Springmvc入门(注解URL核心类详解文件上传和下载)和Spring的整合