• SprimgMVC学习笔记(七)—— 上传图片


    一、配置虚拟目录

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

    <Context docBase="D:upload	emp" path="/pic" reloadable="false"/>

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

      也可以通过eclipse配置,如下图:

      

      

      复制一张图片到存放图片的文件夹,使用浏览器访问

      测试效果,如下图:

      

      idea设置tomcat虚拟路径的两种方法

    二、加入jar包

      

    三、配置上传解析器

      在springmvc.xml中配置文件上传解析器

      <!-- 文件上传,id必须设置为multipartResolver  -->
        <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
            <!-- 设置文件上传大小 -->
            <property name="maxUploadSize" value="5000000"></property>
        </bean>

    四、修改jsp页面

      修改itemEdit.jsp:

      

      

    五、实现图片上传

      在更新商品方法中添加图片上传逻辑

    /**
     * 更新商品
     * 
     * @param item
     * @return
     * @throws Exception
     */
    @RequestMapping("updateItem")
    public String updateItemById(Item item, MultipartFile pictureFile) throws Exception {
        // 图片上传
        // 设置图片名称,不能重复,可以使用uuid
        String picName = UUID.randomUUID().toString();
    
        // 获取文件名
        String oriName = pictureFile.getOriginalFilename();
        // 获取图片后缀
        String extName = oriName.substring(oriName.lastIndexOf("."));
    
        // 开始上传
        pictureFile.transferTo(new File("C:/upload/image/" + picName + extName));
    
        // 设置图片名到商品中
        item.setPic(picName + extName);
        // ---------------------------------------------
        // 更新商品
        this.itemService.updateItemById(item);
    
        return "forward:/itemEdit.action";
    }

      效果如下:

      

  • 相关阅读:
    Jenkins配置国内镜像源
    Centos7安装Jenkins
    IDEA端口占用问题
    dsPIC33F配置ADC软件触发轮询与采样中断的注意事项与区别
    stm32cubemx生成HRTIM DAC等代码及注意事项
    TMS320F28335下载程序到Flash相关问题
    Tms320F28335中AD采样存储地址问题记录
    MatlabR2018a出现“Licence Manager Error -8”
    system级别配置php-开机自启方式
    《费曼学习法》笔记摘要
  • 原文地址:https://www.cnblogs.com/yft-javaNotes/p/10213761.html
Copyright © 2020-2023  润新知