1. 配置图片服务器  

  一般图片会单独保存在图片服务器上, 本文为简化处理, 在Tomcat中配置一个路劲用于专门存放图片

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

    <Context docBase="E:\temp" path="/pic" reloadable="true"/>

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

也可以通过eclipse配置:

2. 导入jar包

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

3. 配置解析器

<!-- 配置文件上传 -->
    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置文件上传的大小 -->
        <property name="maxUploadSize">
            <value>5242880</value>
        </property>
    </bean>

4. 图片上传

//获取提交的修改信息,进行商品修改
    @RequestMapping(value="/updateitem.action",method={RequestMethod.POST, RequestMethod.GET})
    public String updateItem (Items item, MultipartFile picture) throws IllegalStateException, IOException {
        //图片保存
        //为每个图片生成一个独一无二的名称
        String picName = UUID.randomUUID().toString();
        //获取图片的后缀名
        String originalFilename = picture.getOriginalFilename();
        String extName = originalFilename.substring(originalFilename.lastIndexOf("."));
        //拼接图片名称
        String pictureName = picName.concat(extName);
        //将图片保存在制定路径下
        picture.transferTo(new File("E:\\temp\\" + pictureName));
        //将图片名称保存到数据库中
        item.setPic(pictureName);
        
        //调用业务层修改数据
        itemService.update(item);
        return "forward:/item/itemEdit.action";
    }

 页面:

<!-- 上传图片是需要指定属性 enctype="multipart/form-data" -->
    <!-- <form id="itemForm" action="" method="post" enctype="multipart/form-data"> -->
    <form id="itemForm"    action="${pageContext.request.contextPath }/item/updateitem.action"
        method="post" enctype="multipart/form-data">
        <input type="hidden" name="id" value="${item.id}" /> 修改商品信息:
        <table width="100%" border=1>
            <tr>
                <td>商品名称</td>
                <td><input type="text" name="name" value="${item.name }" /></td>
            </tr>
            <tr>
                <td>商品价格</td>
                <td><input type="text" name="price" value="${item.price }" /></td>
            </tr>
            
            <tr>
                <td>商品生产日期</td>
                <td><input type="text" name="createtime"
                    value="<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>" /></td>
            </tr>
            <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="picture"/>
                </td>
            </tr>
            
            <tr>
                <td>商品简介</td>
                <td><textarea rows="3" cols="30" name="detail">${item.detail }</textarea>
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center"><input type="submit" value="提交" />
                </td>
            </tr>
        </table>

</form>

转载于:https://www.cnblogs.com/rodge-run/p/6545412.html

SpringMVC中的文件上传相关推荐

  1. (转)SpringMVC学习(九)——SpringMVC中实现文件上传

    http://blog.csdn.net/yerenyuan_pku/article/details/72511975 这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文 ...

  2. SpringMVC中的文件上传与下载,json转换,及三大框架的整合

    文章目录 文件上传 准备一个文件上传的表单 导入文件上传需要的jar包 配置文件上传解析器 编写文件上传的Controller控制器中的代码: 使用ResponseEntity返回值处理文件下载 使用 ...

  3. SpringMVC中的文件上传与下载

    文件上传: apache上传组件方案 添加依赖 <!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileup ...

  4. c++读取json文件_[SpringMVC]-SpringMVC架构-07-SpringMVC文件上传

    SpringMVC学习 SpringMVC文件上传 文件上传相关 操作步骤: a.在pom.xml中添加文件上传相关jar包 b.配置文件解析器(在核心配置文件springmvc.xml.相关jsp文 ...

  5. jquery.form.js java_使用jQuery.form.js/springmvc框架实现文件上传功能

    使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jque ...

  6. tomcat temp 大量 upload 文件_问题:JavaWeb中实现文件上传的方式有哪些?

    问题:JavaWeb中实现文件上传的方式有哪些? 上回我们说了下文件下载的方式有哪些,这次我们从不同的环境下简单来说说文件上传的方式有哪些. 文件上传的方式 Servlet2.5 方式 Servlet ...

  7. SpringMVC之多文件上传表单

    上文简单介绍了springMVC之单文件上传 ,本文继续介绍多文件上传表单.包含单文件上传的表单已经能够满足大部分功能需求,但任然不够完善.实际业务中可能会包含多个文件同时上传,例如:商家在电商平台申 ...

  8. IIS 6和IIS 7 中设置文件上传大小限制设置方法,两者是不一样的

    在IIS 6.0中设置文件上传大小的方法,只要设置httpRuntime就可以了 <system.web><httpRuntime executionTimeout="36 ...

  9. 在Struts 2中实现文件上传

    前一阵子有些朋友在电子邮件中问关于Struts 2实现文件上传的问题, 所以今天我们就来讨论一下这个问题. 实现原理 Struts 2是通过Commons FileUpload文件上传.Commons ...

最新文章

  1. vue 获取当前位置 高德_vue高德地图获取当前位置
  2. 作者:陈卫, 男, 微软亚洲研究院高级研究员, 清华大学客座教授。
  3. CCF-CSP 稀疏向量问题(2020-6)
  4. [译] JavaScript:回调是什么鬼?
  5. 【Git】GitHub for Windows使用(1)
  6. android viewpager 不同页面底部菜单不同,viewpager不同页面中的不同菜单图标
  7. 理解BERT Transformer:Attention is not all you need!
  8. java pdf tiff_java-使用iText将TIFF转换为PDF的多线程方法
  9. UPnP 体系架构和基本原理 —— UPnP 工作流程
  10. 自定义倒计时跳过按钮
  11. vuepress-theme-reco 博客主题使用
  12. 趣图 | 早起的你 vs 熬夜的你
  13. SQL server课程设计-景点门票销售管理系统(基于Javagui制作)
  14. 一文带你看懂TCP/IP协议 (更新中 现更新至网络层部分)
  15. 阿里P8耗时3年,总结的Java面试复盘手册,带你挑战50万年薪
  16. ffmpeg命令:wav转pcm,pcm转wav
  17. Dcloud安卓离线打包
  18. Mybatis注解-注解方式的动态SQL语句
  19. 前端算法学习入门笔记 - JavaScript
  20. 基于ZigBee的智能家居安全监控系统设计

热门文章

  1. HTML5 progress和meter控件
  2. ViewPager之引导界面---实现欢迎引导页面
  3. 问题解决:SqlParameterCollection只接受非空的SqlParameter类型对象,不接受SqlParameter[]对象
  4. POJ 1573 POJ 2632(两道有趣的Robot)实例
  5. 算法--删除链表的倒数第N个节点
  6. shell实例第10讲:判断用户输入的是否为数字
  7. ORACLE TNS(transparence Network Substrate透明网络底层)
  8. oracle schema
  9. Docker Hub 镜像加速器
  10. Python基础入门教程:使用 Python 3 协程快速获得一个代理池