zoukankan      html  css  js  c++  java
  • 上传图片到磁盘

    1)在tomcat中配置虚拟图片服务器

          2)导入fileupload的jar包

          3)在springMvc.xml中配置上传组件

          4)在页面上编写上传域,更改form标签的类型

          5)在controller方法中可以使用MultiPartFile接口接收上传的图片

          6)将文件名保存到数据库,将图片保存到磁盘中

    1.1   配置虚拟目录

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

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

    访问http://localhost:8080/pic即可访问F:developupload emp下的图片。

    也可以通过eclipse配置:

    1.2   jar包

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

    1.3   配置解析器

    <!-- 文件上传 -->

        <bean id="multipartResolver"

           class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

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

           <property name="maxUploadSize">

               <value>5242880</value>

           </property>

        </bean>

    1.4  图片上传

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

     

     

    页面:

    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>

  • 相关阅读:
    为什么我要用 Node.js? 案例逐一介绍
    不用 Twitter Bootstrap 的5个理由
    20个最强的基于浏览器的在线代码编辑器
    你需要了解 Windows Phone 8.1 的11件事
    你知道吗?什么是 Responsive JavaScript ?
    2014年最佳的10款 PHP 开发框架
    你知道吗?10个精妙的 Java 编码最佳实践
    知识笔记:jQuery 事件对象属性小结
    你知道吗?undefined 与 null 的区别
    Java开发者应该列入年度计划的5件事
  • 原文地址:https://www.cnblogs.com/txf0324/p/11163786.html
Copyright © 2011-2022 走看看