springmvc上传文件

来源:互联网 发布:抽拉式油烟机 知乎 编辑:程序博客网 时间:2024/06/16 10:03

1.引入相关ja包

<dependency>      <groupId>commons-fileupload</groupId>      <artifactId>commons-fileupload</artifactId>      <version>1.2</version>    </dependency>    <dependency>      <groupId>commons-io</groupId>      <artifactId>commons-io</artifactId>      <version>2.0.1</version>    </dependency>
2.在springmvc.xml文件中配置解析器

 <bean id="multipartResolver"          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">        <!-- 设置上传文件的最大尺寸为5MB -->        <property name="maxUploadSize">            <value>5242880</value>        </property>    </bean>
3.controller方法形参上添加MultipartFile类型的参数,参数名称和上传页面上file的名称一致,才可以绑定成功
(1)方法上的参数

MultipartFile picture
(2)上传

//实现上传图片            if (picture != null && picture.getOriginalFilename() != null && picture.getOriginalFilename() != "") {                //获取图片原始名称,目标要从原始名称中获取文件的扩展名                   String originalFilename = picture.getOriginalFilename();                //得到新文件名                String newFileName = UUID.randomUUID().toString().replace("-", "") + originalFilename.substring(originalFilename.lastIndexOf("."));                //新文件                File newFile = new File("D:\\develop\\projects\\springMVC\\ssm\\src\\main\\webapp\\upload", newFileName);                //将内存中的文件内容写入磁盘上                picture.transferTo(newFile);                //更新新文件名到数据库中                items.setPic(newFileName);            }            //保存            System.out.println(items);            itemsService.saveItem(items);
4.   修改页面提交的编码enctype
<form id="itemForm" action="${pageContext.request.contextPath }/item/editItemSubmit.action" method="post"      enctype="multipart/form-data">
 <tr>            <td>商品图片</td>            <%--防止修改图片没有上传,之前的图片消失的情况--%>            <input type="hidden" name="pic" value="${item.pic }" />            <td>                <c:if test="${item.pic !=null}">                    <img src="/pic/${item.pic}" width=100 height=100/>                    <br/>                </c:if>                <input type="file" name="picture"/>            </td>        </tr>
上边/pic采用的是虚拟路径





原创粉丝点击