SpringMVC 上传图片

一. 图片服务器配置

  在企业开发中,通常情况下,都会有一个单独的图片服务器,我这演示的是将图片和程序放到了一个tomcat中,所以首先要创建图片的虚拟目录来存储图片,有两种可以实现:

  1. 通过图形化页面配置:


  2.直接修改tomcat的配置:
    在conf/server.xml中,添加虚拟目录

<Context docBase="G:\14-springmvc\自己学\图片\updown" path="/pic" reloadable="true"/>

  如果同时配置:默认使用图形化页面配置的为准,起作用


二:加入上传图片所需的jar


三:在springmvc.xml中配置multipart类型的解析器

  当在页面form中提交enctype=”multipart/form-data”的数据时,需要springmvc对multipart类型的数据进行解析

    <!-- 文件上传 -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 设置上传文件的最大尺寸为5MB -->
        <property name="maxUploadSize">
            <value>5242880</value>
        </property>
    </bean>

  这的解析内部就是用的上面的jar进行图片上传的


四:页面上传图片设置

  这加载图片时使用的是绝对路径,会去虚拟目录pic代表的实际物理目录下找相应的图片(这就体现了第一步配置虚拟目录的原因)

<td>
    <c:if test="${itemsCustom.pic !=null}">
        //使用绝对路径
        <img src="/pic/${itemsCustom.pic}" width=100 height=100 />
     <input type="file" name="items_pic" />
</td>

 注意的两点:

  • input的type为file
  • form标签要添加enctype=”multipart/form-data”

五:Controller方法编写

        //上传图片
        if(items_pic != null && originalFilename!= null && originalFilename.length()>0){
            //新上传的图片存储的物理路径,使用\\转义
            String pic_path = "G:\\14-springmvc\\自己学\\图片\\updown\\";            
            //新的图片名称
            String newFileName = UUID.randomUUID()+originalFilename.substring(originalFilename.lastIndexOf("."));
            //新图片的存储路径
            File newFile = new File(pic_path+newFileName);
            //将内存中的数据写入磁盘
            items_pic.transferTo(newFile);
            //将新图片名称写到itemsCustom中
            itemsCustom.setPic(newFileName);
        }


以上大标题就是上传图片的一个完整思路或步骤

评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值