精华内容
下载资源
问答
  • 主要介绍了使用js在layui中实现上传图片压缩layui 是一款采用自身模块规范编写的前端 UI 框架,js上传图片压缩百度有很多方法,,需要的朋友可以参考下
  • layui上传图片到servlet后台处理,并且压缩图片 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf...

    layui上传图片到servlet后台处理,并且压缩图片

        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            request.setCharacterEncoding("utf-8"); // 设置编码
            
            System.out.println("上传照片");
            String id= request.getParameter("ID");
            System.out.println(id);
            JSONObject jsonobj = new JSONObject();
            int returnTag = -1;
            String saveName=null;
            //上传的文件名
            String filename=null;
            try {
                // 获得磁盘文件条目工厂
                DiskFileItemFactory factory = new DiskFileItemFactory();
                factory.setRepository(new File(TEMP_FOLDER));
                // 设置 缓存的大小,当上传文件的容量超过该缓存时,直接放到 暂时存储室
                factory.setSizeThreshold(1024 * 1024);
                
                // 高水平的API文件上传处理
                ServletFileUpload upload = new ServletFileUpload(factory);
     
                // 可以上传多个文件
                List<FileItem> list = upload.parseRequest(request);
                System.out.println("list==="+list);
                // 获取上传的文件
                String base64 = "";
                for (FileItem file : list) {
                    FileItem item = file;
                    // 获取文件名
                    filename = getUploadFileName(item);
                    if(filename == null){
                    }else{
                        String suffix = filename.substring(filename.lastIndexOf(".") + 1);
                        System.out.println("文件格式===="+suffix);
                        System.out.println("获取的文件后缀名=========================" + suffix);
                        String[] regular = { "JPG", "GIF","PNG","JPEG" ,"BMP"};
                        boolean flag = false;

                        // 保存后的文件名
                        saveName = new Date().getTime() + filename.substring(filename.lastIndexOf("."));
                        item.write(new File(PATH_FOLDER, saveName));
                        
                         //判断文件格式是否是图片
                        for (String str : regular) {
                            if (suffix.equalsIgnoreCase(str)) {
                                flag = true;
                            }
                        }
                        if (flag) {
                            long length = new File(PATH_FOLDER+"/"+saveName).length();
                            System.out.println(length);
                            if (length / 1048576 >= 0.5) {// 如果图片大于等于0.5MB 则按80%缩小
                                 try {
                                      zoom(PATH_FOLDER+"/"+saveName,PATH_FOLDER+"/"+saveName, length, 0.5);
                                 } catch (IOException e) {
                                     System.out.println("出错啦:" + e);
                                 }
                             }
                        }
                        
                        // base64
                        base64 = encodeBase64File(PATH_FOLDER+"/"+saveName);
                        System.out.println(base64);
                        System.out.println("luuuuuuuuuuuuuuuuuuuu="+PATH_FOLDER+"/"+saveName);
                    }
                }
                if (returnTag != -1) {
                    // 请求失败
                    jsonobj.put("STATUS", "1");
                } else {
                    jsonobj.put("code", 0);
                }
                response.getWriter().write(jsonobj.toString());
            }catch (Exception e) {
                System.out.println("出错啦");
                e.printStackTrace();
                jsonobj.put("errorCode", 0);
                response.getWriter().write(jsonobj.toString());
                response.getWriter().close();
            }
        }

        private String getUploadFileName(FileItem item) {
            // 获取路径名
            String value = item.getName();
            if(value == null){
                return null;
            }else{
                // 索引到最后一个反斜杠
                int start = value.lastIndexOf("/");
                // 截取 上传文件的 字符串名字,加1是 去掉反斜杠,
                String filename = value.substring(start + 1);
                return filename;
            }
        }
        
        public void init(ServletConfig config) throws ServletException {
            ServletContext servletCtx = config.getServletContext();
            // 初始化路径
            // 缩略图保存路径
            PATH_FOLDER = "F:/file";
            //PATH_FOLDER = "/apache-tomcat-7.0.63/img";
            System.out.println("保存缩略图的目录===========" + PATH_FOLDER);
            
            // 存放临时文件的目录,存放xxx.tmp文件的目录
            TEMP_FOLDER = servletCtx.getRealPath("/temp");
            System.out.println("存放临时文件的目录===========" + TEMP_FOLDER);
            
            File dir = new File(PATH_FOLDER);
            if (!dir.isDirectory()) {
                dir.mkdir();
            }
            File dir2 = new File(TEMP_FOLDER);
            if (!dir2.isDirectory()) {
                dir2.mkdir();
            }
        }

        
        /**
         * 获取参数
         * @param request
         * @return
         */
        private String getParams(HttpServletRequest request){
            StringBuilder param = new StringBuilder();
            try{
                BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));
                String line = null;
                while((line=br.readLine())!=null){
                    param.append(line);
                }
            }catch (Exception e) {
                e.printStackTrace();
            }
            return param.toString();
        }
        
        
         public static String encodeBase64File(String path) throws Exception {
             System.out.println("开始执行");
                File file = new File(path);
                FileInputStream inputFile = new FileInputStream(file);
                byte[] buffer = new byte[(int)file.length()];
                inputFile.read(buffer);
                inputFile.close();
                return new BASE64Encoder().encode(buffer);
         }
         
         public static void main(String[] args) {
             //Random random = new Random();
             //System.out.print(random.nextInt(100));
             String fullPath="F://file/1568086981813.jpg";
             String newPath="F://file/image/1568086981813.jpg";

             long length = new File(fullPath).length();
             if (length / 1048576 >= 0.5) {// 如果图片大于等于0.5MB 则按80%缩小
                 try {
                      zoom(fullPath, newPath, length, 0.5);
                 } catch (IOException e) {
                     System.out.println("出错啦:" + e);
                 }
             }
             String base64Str;
            try {
                base64Str = encodeBase64File(newPath);
                //System.out.println("base64Str===" + base64Str);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
             //String newPath = Base64Util.getBase64Str(newPath);

        }
         
        // 缩图
        public static void zoom(String oldFile, String zoomFile,long length,double newRate) throws IOException {
            DecimalFormat df = new DecimalFormat("0.00");// 设置保留位数
            double rate=0.8;
            System.out.println("原始图片大小:" + df.format((float) length / mb) + "MB");
            long newfile = new File(oldFile).length();
            int i = 1;
            // 如果首次压缩还大于2MB则继续处理
            while ((float) newfile / mb >= newRate) {
                System.out.println("压缩后图片大小:" + newfile);
                rate = rate - 0.05;// 暂定按照0.03频率压缩
                System.out.println(i + " rate=" + rate);
                BufferedImage srcImage = ImageIO.read(new File(oldFile));
                int WIDTH = (int) (srcImage.getWidth() * rate);
                int HEIGHT = (int) (srcImage.getHeight() * rate);
                BufferedImage image = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB);
                Graphics g = image.getGraphics();
                g.drawImage(srcImage, 0, 0, WIDTH, HEIGHT, null);
                // 缩小
                ImageIO.write(image, "jpg", new File(zoomFile));
                i++;
                newfile = new File(zoomFile).length();
                System.out.println("压缩次数:" + i);
            }
            // 调整方向
             BufferedImage newImage = ImageIO.read(new File(zoomFile));
             ImageIO.write(newImage, "jpg", new File(zoomFile));
            System.out.println("处理后图片路径:" + zoomFile + ";缩小之后大小:"
                    + df.format((float) new File(zoomFile).length() / mb) + "MB");
        }

    }
     

    展开全文
  • layer+压缩图片js

    2017-06-23 01:27:55
    前端js压缩图片插件,使用方法见博客文章
  • 示例中使用的是Layui 2.5.6版本,需要的请到官网下载 首先添加上传图片的按钮控件: <button type="button" class="layui-btn" style="margin-top: 10px;width: 100%" id="upload"> <i class="layui-icon...

    示例中使用的是Layui 2.5.6版本,需要的请到官网下载

    首先添加上传图片的按钮控件:

    <button type="button" class="layui-btn" style="margin-top: 10px;width: 100%" id="upload">
        <i class="layui-icon">&#xe67c;</i>上传图片
    </button>
    

    然后再JS中初始化Layui并引入upload模块:

    <script>
        //一般直接写在一个js文件中
        layui.use(['layer','form','upload'], function(){
            $ = layui.jquery;
            var layer = layui.layer
                ,form = layui.form
                ,upload = layui.upload;
                
            function canvasDataURL(file, callback) { //压缩转化为base64
                var reader = new FileReader()
                reader.readAsDataURL(file)
                reader.onload = function (e) {
                    const img = new Image()
                    const quality = 0.2 // 图像质量比例
                    const canvas = document.createElement('canvas')
                    const drawer = canvas.getContext('2d')
                    img.src = this.result
                    img.onload = function () {
                        canvas.width = img.width
                        canvas.height = img.height
                        drawer.drawImage(img, 0, 0, canvas.width, canvas.height)
                        convertBase64UrlToBlob(canvas.toDataURL(file.type, quality), callback);
                    }
                }
            }
    
            function convertBase64UrlToBlob(urlData, callback) { //将base64转化为文件格式
                const arr = urlData.split(',')
                const mime = arr[0].match(/:(.*?);/)[1]
                const bstr = atob(arr[1])
                let n = bstr.length
                const u8arr = new Uint8Array(n)
                while (n--) {
                    u8arr[n] = bstr.charCodeAt(n)
                }
                callback(new Blob([u8arr], {
                    type: mime
                }));
            }
    
            upload.render({
                elem: '#upload' //绑定元素
                ,url: 'XXXXXX' //上传接口
                ,accept : 'images'		//上传文件类型
                ,auto :false  //是否自动上传,这里如果在choose中压缩图片则一定要设置为false否则会无限上传
                ,size : 6144	//上传文件大小限制,单位KB
                ,field : 'img'	//上传文件的字段名
                ,choose: function (obj) { //选择文件后的回调
                    var files = obj.pushFile();
                    var filesArry = [];
                    for (var key in files) { //将上传的文件转为数组形式
                        filesArry.push(files[key])
                    }
                    var index = filesArry.length - 1;
                    var file = filesArry[index]; //获取最后选择的图片,即处理多选情况
    
                    if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion.split(";")[1]
                        .replace(/[ ]/g, "").replace("MSIE", "")) < 9) {
                        return obj.upload(index, file)
                    }
                    canvasDataURL(file, function (blob) {
                        var aafile = new File([blob], file.name, {
                            type: file.type
                        })
                        var isLt1M;
                        if (file.size < aafile.size) {
                            isLt1M = file.size
                        } else {
                            isLt1M = aafile.size
                        }
    
                        if (isLt1M / 1024 / 1024 > 2) {
                            return layer.alert('上传图片过大!')
                        } else {
                            if (file.size < aafile.size) {
                                return obj.upload(index, file)
                            }
                            obj.upload(index, aafile)
                        }
                    })
                }
                ,done: function(res){
                    if(res.code==0)
                        layer.alert(res.msg, {icon: 6},function (thiswindow) {
                            layer.close(thiswindow);
                        });
                    else
                        layer.alert(res.msg, {icon: 5},function (thiswindow) {
                            layer.close(thiswindow);
                        });
                }
                ,error: function(){
                    layer.msg("上传失败");
                }
            });
    
            
        });
    </script>
    
    展开全文
  • 使用Layui上传图片,并进行压缩

    千次阅读 2019-04-11 10:39:57
    故此,借用其上传功能,自己将图片压缩并上传. Layui上传图片官方文档:https://www.layui.com/doc/modules/upload.html HTML: <button type="button" class="layui-btn" id="test1"> <i class=...

    在工作中使用到layui,发现其上传功能并不是很适用于自己的项目。故此,借用其上传功能,自己将图片压缩并上传.

    Layui 上传图片官方文档:https://www.layui.com/doc/modules/upload.html

    HTML: 

    <button type="button" class="layui-btn" id="test1">
      <i class="layui-icon">&#xe67c;</i>上传图片
    </button>

    tips:不一定非要是input标签,无论是什么标签,layui upload是根据其 id 值进行操作的

    JS:  

    <script>
    //使用layui上传图片
      layui.use('upload', function () {
        var upload = layui.upload;
        var layer = layui.layer;
    
        //执行实例
        var uploadInst = upload.render({
          elem: '#isTest', //绑定元素
          url: '/upload/', //上传接口
          accept: 'images',
          auto: false,
    
          choose: function (obj) { //选择文件后的回调
            var files = obj.pushFile();
            var filesArry = [];
            for (var key in files) { //将上传的文件转为数组形式
              filesArry.push(files[key])
            }
            var index = filesArry.length - 1;
            var file = filesArry[index]; //获取最后选择的图片,即处理多选情况
    
            if (navigator.appName == "Microsoft Internet Explorer" && parseInt(navigator.appVersion.split(";")[1]
                .replace(/[ ]/g, "").replace("MSIE", "")) < 9) {
              return obj.upload(index, file)
            }
            canvasDataURL(file, function (blob) {
              var aafile = new File([blob], file.name, {
                type: file.type
              })
              var isLt1M;
              if (file.size < aafile.size) {
                isLt1M = file.size
              } else {
                isLt1M = aafile.size
              }
    
              if (isLt1M / 1024 / 1024 > 2) {
                return layer.alert('上传图片过大!')
              } else {
                if (file.size < aafile.size) {
                  return obj.upload(index, file)
                }
                obj.upload(index, aafile)
              }
            })
          },
          done: function (res) {
            //上传完毕回调
          },
          error: function () {
            //请求异常回调
          }
        });
      });
    
      function canvasDataURL(file, callback) { //压缩转化为base64
        var reader = new FileReader()
        reader.readAsDataURL(file)
        reader.onload = function (e) {
          const img = new Image()
          const quality = 0.8 // 图像质量
          const canvas = document.createElement('canvas')
          const drawer = canvas.getContext('2d')
          img.src = this.result
          img.onload = function () {
            canvas.width = img.width
            canvas.height = img.height
            drawer.drawImage(img, 0, 0, canvas.width, canvas.height)
            convertBase64UrlToBlob(canvas.toDataURL(file.type, quality), callback);
          }
        }
      }
    
      function convertBase64UrlToBlob(urlData, callback) { //将base64转化为文件格式
        const arr = urlData.split(',')
        const mime = arr[0].match(/:(.*?);/)[1]
        const bstr = atob(arr[1])
        let n = bstr.length
        const u8arr = new Uint8Array(n)
        while (n--) {
          u8arr[n] = bstr.charCodeAt(n)
        }
        callback(new Blob([u8arr], {
          type: mime
        }));
      }
    
    </script>

     

    展开全文
  • 一、关友,记基开前不接些前家我告对猿果水使钮控于js上传图片压缩的方法,百度有很多种方法,这里我参考朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏有到随修改了一下:...

    一、关友,记基开前不接些前家我告对猿果水使钮控于js上传图片压缩的方法,百度有很多种方法,这里我参考朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏有到随修改了一下:

    functionphotoCompress(file, w, objDiv) {var ready = newFileReader();/*开始读取指定的Blob对象或File对象中的内容. 当读取操作完成时,readyState属性的值会成为DONE,如果设置了onloadend事件处理程序,则调用之.同时,result属性中将包含一个data: URL格式的字符串以表示所读取文件的内容.*/ready.readAsDataURL(file);

    ready.οnlοad= function() {var re = this.result;

    canvasDataURL(re, w, objDiv);

    }

    };functioncanvasDataURL(path, obj, callback) {var img = newImage();

    img.src=path;

    img.οnlοad= function() {var that = this;//默认按比例压缩

    var w =that.width,

    h=that.height,

    scale= w /h;

    w= obj.width ||w;

    h= obj.height || (w /scale);var quality = 0.5; //默认图片质量为0.7

    //生成canvas

    var canvas = document.createElement('canvas');var ctx = canvas.getContext('2d');//创建属性节点

    var anw = document.createAttribute("width");

    anw.nodeValue=w;var anh = document.createAttribute("height");

    anh.nodeValue=h;

    canvas.setAttributeNode(anw);

    canvas.setAttributeNode(anh);

    ctx.drawImage(that,0, 0, w, h);//图像质量

    if(obj.quality && obj.quality <= 1 && obj.quality > 0) {

    quality=obj.quality;

    }//quality值越小,所绘制出的图像越模糊

    var base64 = canvas.toDataURL('image/jpeg', quality);//回调函数返回base64的值

    callback(base64);

    }

    }functionconvertBase64UrlToBlob(urlData) {var arr = urlData.split(','),

    mime= arr[0].match(/:(.*?);/)[1],

    bstr= atob(arr[1]),

    n=bstr.length,

    u8arr= newUint8Array(n);while(n--) {

    u8arr[n]=bstr.charCodeAt(n);

    }return newBlob([u8arr], {

    type: mime

    });

    }

    以啥一发框的做器就文过按述近都头基架关好屏上是压缩图片的方法,核心是将图片放入canvas内,再用canvas.toDataURL方法进行压缩,最后生成一个Bl支器事的后功发久这含层请间业在屏有随些气和域,实按控幻近持的前时来能过后些的处求也务浏蔽等机站风滚或默现钮制灯近持的前时来能过后些ob对象。

    注:因友,记基开前不接些前家我告对猿果水使钮控为牵扯到canvas,所以低版本浏览器应该是不支持的吧朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏有到随(有待考证)

    二、图片路能需还定有开都视这讲房哦搞有名需移洁页压缩的方法有了,怎么使用呢?怎么上传到后台呢?往下看朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上!

    html部分遇新是直朋能到:

    js部分:

    $("#file").change(function() {var formData = new formData("form");var file = this.files[0];

    photoCompress(file, {

    quality:0.5,

    },function(base64Codes) {var bl =convertBase64UrlToBlob(base64Codes);

    formData.set("file", bl, file.name);

    });

    });

    当选择文件以少端原码动近基开创学画近基开创学画近基开后,使用photoCompress方法对上传的图片进行压缩,photoCompress方法的第二个参数还可以传入长宽等参数,具体可以看photoCompress这个方法,quality是用来设置压缩后图片质量的,越小质量越差,表现出来就是图片越模糊,但是相应的体积就越说年发据个业了会和效插近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果件近直轻过业项务一进滚果小。

    最量这浏在以近级一览图动近级一览图动近级一后使用formData.set(key,value,name)方法,将现有的name为file的表单元素的值改变。这个方法有三个参数,第一个是key值,也就是表单里对应的元素的name值(如果不存在会自行添加),第二个值是value值,第三个是选填的值,如果第二个值为blob对象或者file对象,则第三个值表示文件名是编久直结屏会机实高近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进端现度近一程后接构蔽进。

    当然,用,事少来最差端在事路原们这制码效移,动如果你不想用form表单提交,你也可以用ajax提交的朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏方法:

    html:

    有些许的二,都过发宗发数前业很断屏击和公图使分近变化,form没有了action,上传的按钮type改为了but能调页代事求都学是功发解开宗这维视如间请前框来总在行回断元随来以4移和泉果动标ton

    js部分路能需还定有开都视这讲房哦搞有名需移洁页给按钮添加一个点击事件,其他也没有变化,不做过多赘述朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上:

    $("#uploadBtn").click(function() {var formData = new formData("form");

    $.ajax({

    type:"post",

    url:"",

    async:true,

    data:formData,

    success:function(data) {

    },

    error:function(e) {

    }

    });

    });

    三、结合和第,。年过事工宗据指数遍互业经搞断果会layui踩的一些坑,以及最终的抖要支圈者器说是事天开的。年后编定功口小发还应久剑解决方法。

    先看html部分遇新是直朋能到:

    上传图片

    展开全文
  • 故此,借用其上传功能,自己将图片压缩并上传.Layui 上传图片官方文档:https://www.layui.com/doc/modules/upload.htmlHTML:```html上传图片```tips:不一定非要是input标签,无论是什么标签,layui upload是根据...
  • layui上传压缩图片 JS实例 其实这些代码直接复制过去就可以使用的了,直接把请求接口,还有参数稍微改一下就好了 // 照片上传 function uploadImage(demo,i) { var uploadInst = upload.render({ elem: ''+demo ,...
  • 改造layui的上传组件,实现将大图片压缩然后进行上传,感兴趣的可以下载!
  • layui使用upload组件上传图片前的压缩

    千次阅读 2020-05-20 17:00:28
    对于很多情况,我们都有在前端压缩图片后再上传的需求,如果是单独的上传过程直接做就可以,但对于layui这种框架就需要注意下了。 具体方法如下(前端压缩图片我使用的是image compressor这个JS库): upload....
  • layui上传组件改的c#图片压缩上传源代码,上传速度快!
  • C#使用Layui上传图片,并进行压缩及多图片上传可删除(呕心沥血之作) Css: <style type="text/css"> .uploader-list { margin-left: -15px; } .uploader-list .info { position: relative; ...
  • <div class="layui-upload upload"> <...上传图片</button> <input class="layui-upload-file" type="file" accept="" name="file"> <div class="layui-upload-list">.
  • //图片名字 // console.log(file.type); //图片格式 // console.log(file.size); //图片大小 // console.log(result); //图片地址 $('#preview').attr('src',result); //图片链接 base64 }); // layer.load(); } //...
  • layui上传图片

    千次阅读 2017-12-15 10:47:18
    //只允许上传压缩文件 bindAction : '#testListAction' , choose : function (obj) { files = obj.pushFile(); //将每次选择的文件追加到文件队列 //读取本地文件 obj.preview( function (index, file...
  • layui图片上传 多图片批量上传

    千次阅读 2019-01-22 22:54:07
    css样式  .defaultDots1{  display: inline-block;  min-width: 14px;...">主图片: ...">批量图片: ... //修改 查询出来的 主图片 ...java 图片上传到本地磁盘 resin4.0文件里面 返回图片路径到 input框img ...
  • layui图片上传

    2021-07-26 20:03:22
    Layui文件上传 layui官网:https://www.layui.com/ layui插件下载 官方文档(关于文件上传) 快速入门 前端 1、 index页面,引入css样式和js脚本 <!DOCTYPE html> <...index<
  • tp5+layui上传图片图片压缩

    千次阅读 2018-07-17 15:38:13
    使用的是Layui的css样式 h5代码: &lt;div class="controls need-img"&gt; &lt;p style="text-align: left;color: #ccc;margin-left: 0.26rem;margin-top: 0.26rem"&gt;亲...
  • layui上传图片插件

    千次阅读 2018-02-07 15:03:22
    最近在做一个多图片上传,并可点击预览图片和删除...4.上传用的layui插件,layui在项目中的具体使用 4.1进入相关文件 4.2 4.3 4.4  layui.use('upload', function(){ var $ = layui.jquery  ,upload =
  • 上传模块自 layui 2.0 的版本开始,进行了全面重写,这使得它不再那么单一,它所包含的不仅是更为强劲的功能,还有灵活的UI。任何元素都可以作为上传组件来调用,譬如按钮、图片、普通的DIV等等,而不再是一个单调的...
  • layui多图上传并压缩

    2021-04-29 16:04:38
    <form id="jxForm" method="post">...button type="button" class="layui-btn layui-btn-normal" id="testList">选择多文件 </button> <div class="layui-upload-list"> .
  • // 压缩图片 Thumbnails.of(oldFile).scale(config.getScaleRatio()).toFile(path); // 显示路径 resMap.put( "path", "/" + basedir + "/" + newUUID + "." + imageName); } else { path = config....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 610
精华内容 244
关键字:

layui压缩图片