springMVC 上传图片

来源:互联网 发布:男士商务双肩包 知乎 编辑:程序博客网 时间:2024/06/05 20:28

1、springMVC中对多部件类型解析
在页面form中提交enctype=”multipart/form-data”的数据时,需要springMVC对multipart类型的数据进行解析。
在springMVC.XML文件中配置multipart类型解析器。

<!-- 文件上传 --><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResilver">      <property name="maxUploadSize">            <value>5242880</value>      </property></bean>

2、创建图片虚拟目录存储图片
通过图形界面配置:
这里写图片描述

可以直接修改Tomcat的配置:

在conf/Servlet.xml文件,添加虚拟目录;

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

注意:在图片虚拟目录中,一定将图片目录分级创建(提高i/o性能),一般我们采用日期进行分级创建。

3、上传图片代码
修改:商品修改controller方法:

//原始名称String originalFilename = item_pic.getOriginalFilename();//上传图片if(item_pic!=null && originalFilename!=null && originalFilename.length()>0){    //存储图片的物理路径    String pic_path = "F:\\";    //新的图片名称    String newFileName = UUID.randomUUID() +   originalFilename.substring(originalFilename.lastIndexOf("."));    //新的图片    File newFile = new java.io.File(pic_path+newFileName);    //将内存中的数据写入磁盘    item_pic.transferTo(newFile);    //将新的图片名称写到itemsCustom中    itemsCustom.setPic(newFileName);}

页面代码:

<tr>        <td>商品图片</td>        <td>            <c:if test = "${item.pic!=null }">                <img src = "/pic/${items.pic }" width = 100 height =100/><br>            </c:if>            <input type ="file" name = "item_pic"/>        </td>     </tr>

4、上传图片还要加载jar包
上边的解析内部使用下边的jar包:
这里写图片描述

原创粉丝点击