SpringMVC学习--文件上传

时间:2023-03-09 17:44:04
SpringMVC学习--文件上传
  • 简介

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

  • springmvc中对多部件类型解析

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

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

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

SpringMVC学习--文件上传 

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

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

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

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

  • Controller代码
 //商品修改提交
@RequestMapping("/editItemSubmit")
public String editItemSubmit(Items items, MultipartFile pictureFile)throws Exception{ //原始文件名称
String pictureFile_name = pictureFile.getOriginalFilename();
//新文件名称
String newFileName = UUID.randomUUID().toString()+pictureFile_name.substring(pictureFile_name.lastIndexOf(".")); //上传图片
File uploadPic = new java.io.File("F:/develop/upload/temp/"+newFileName); if(!uploadPic.exists()){
uploadPic.mkdirs();
}
//向磁盘写文件
pictureFile.transferTo(uploadPic);
...
}