上传图片

一、需求

在修改商品页面,添加上传商品图片功能。

二、springmvc中对多部件类型解析

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

添加依赖



    commons-fileupload
    commons-fileupload
    1.3.1

当页面

提交请求为multipart,需要在springmvc.xml中配置multipart类型解析器。


    
        
        
            5242880
        
    

三、创建虚拟目录(IDEA为例)

上传图片_第1张图片
虚拟目录的创建
上传图片_第2张图片
左边物理目录 — 右边虚拟目录路径
上传图片_第3张图片
我创建的路径

访问结果:

上传图片_第4张图片
测试

注意:在图片虚拟目录 中,一定将图片目录分级创建(提高i/o性能),一般我们采用按日期(年、月、日)进行分级创建。

四、上传图片代码

1. 修改controller方法

添加一个参数
 String originalFilename = items_pic.getOriginalFilename();//图片原始名称
        //上传图片
        if (items_pic != null && originalFilename != null && originalFilename.length() > 0) {

            String pic_path = "E:\\upload\\img\\";//存储图片的物理路径

            //新的图片名称
            String newFileName = UUID.randomUUID() + originalFilename.substring(originalFilename.lastIndexOf("."));

            //新图片
            File newFile = new File(pic_path + newFileName);

            //将内存中的数据写入磁盘
            items_pic.transferTo(newFile);

            //将新图片名称写到itemsCustom中
            itemsCustom.setPic(newFileName);
        }

2. 页面代码


       
             
                    

上篇:全局异常处理器开发
下篇:JSON数据交互
源代码:https://github.com/yvettee36/SpringMVC_mybatis

你可能感兴趣的:(上传图片)