SpingMVC上传图片
2017-10-25
分析:在页面form中提交enctype="multipart/form-data"的数据时,需要在SpringMVC中解析改格式,所以要在xml中配置文件上传解析器
1.SpringMVC.xml中:加入上传图片的jar包:commons-fielipload-1.2.2.jar commons-io.jar
1 <bean id="mutipartResolver" class="CommonsMultipartResolver"> 2 <property name="maxUploadSize"> 3 <value>5442880</value>//5MB 4 </property> 5 </bean>
2.创建图片的虚拟目录来存储图片
以上是通过图形界面配置
也可以直接在Tomcat服务器中配置:在conf/server.xml中添加虚拟目录
<Context docBase="F:\develop\upload\temp" path="/pic" reloadable="false" />
访问路径:localhost/pic/XXX.jpg
注意:在图片虚拟目录中,一定要将图片目录分级创建(目的是提高i/o性能),一般采用按日期创建
3.上传图片controller中
1 public String pic(MultipartFile pic){ 2 if(pic!=null){//需要添加fileName!=null fileName.length()>0 3 //1.存储图片的物理路径以及文件名 4 String path="F:\\develop\\upload\\temp\\"; 5 String fileName=pic.getOriginalFilename(); 6 //2.新的图片名称 7 String newFilename=UUID.randomUUID()+fileName.substring(fileName.lastIndexOf(".")); 8 //3.新图片 9 File newFile=new File(path+newFilename); 10 //4.将内存中的数据写入磁盘 11 pic.transferTo(newFile); 12 //5.将新图片保存到表中 13 对象.setPic(new FileName); 14 } 15 16 return ""; 17 }
4.在jsp中的界面显示
喜欢请赞赏一下啦^_^
微信赞赏
![](https://images.cnblogs.com/cnblogs_com/ljf-Sky/1807277/o_200716012544%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200716092510.jpg)
支付宝赞赏
![](https://images.cnblogs.com/cnblogs_com/ljf-Sky/1807277/o_200716012531%E5%BE%AE%E4%BF%A1%E5%9B%BE%E7%89%87_20200716092459.jpg)