springmvc教程:实现图片上传功能

本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> springmvc教程:实现图片上传功能

上传图片

1.1 配置虚拟目录

1.2 配置解析器


<!-- 文件上传 -->

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

    <!-- 设置上传文件的最大尺寸为5MB -->

    <property name="maxUploadSize">

        <value>5242880</value>

    </property>

</bean>

1.3 jar包

CommonsMultipartResolver解析器依赖commons-fileupload和commons-io,加入如下jar包:

1.4 单个图片上传

1、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);

.....

2、 页面:

form添加enctype=”multipart/form-data”:


<form id="itemForm" action="${pageContext.request.contextPath }/item/editItemSubmit.action"
  method="post" enctype="multipart/form-data">
<input type="hidden" name="pic" value="${item.pic }" />

file的name与controller形参一致:


<tr>

    <td>商品图片</td>

    <td>
        <c:if test="${item.pic !=null}">

            <img src="/pic/${item.pic}" width= 100 height= 100 />

            <br />

        </c:if>
        <input type="file" name="pictureFile" />
    </td>

</tr>
本人花费半年的时间总结的《Java面试指南》已拿腾讯等大厂offer,已开源在github ,欢迎star!

转载声明:转载请注明出处,本技术博客是本人原创文章

本文GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了6个月总结的一线大厂Java面试总结,本人已拿大厂offer,欢迎star

原文链接:blog.ouyangsihai.cn >> springmvc教程:实现图片上传功能


 上一篇
springmvc教程:自定义异常处理器详解 springmvc教程:自定义异常处理器详解
异常处理器springmvc在处理请求过程中出现异常信息交由异常处理器进行处理,自定义异常处理器可以实现一个系统的异常处理逻辑。 1.1 异常处理思路系统中异常包括两类:预期异常和运行时异常RuntimeException,前者通过捕获异常
下一篇 
springmvc教程:使用json进行数据传输详解 springmvc教程:使用json进行数据传输详解
1.1 @RequestBody作用: @RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json、xml等格式的数据并绑定到cont