zoukankan      html  css  js  c++  java
  • js 压缩上传的图片方法(默认上传的是file文件)

    //压缩图片方法
    function compressImg(file,callback){
        var src;
        var fileSize = parseFloat(parseInt(file['size'])/1024/1024).toFixed(2);
        var read = new FileReader();
        read.readAsDataURL(file);
        read.onload = function (e) {
            var img = new Image();   
            img.src = e.target.result;   
            img.onload = function(){   
                //默认按比例压缩   
                var w = this.width,   
                    h = this.height;  
                //生成canvas   
                var canvas = document.createElement('canvas');   
                var ctx = canvas.getContext('2d');  
                var base64;
                // 创建属性节点   
                canvas.setAttribute("width", w);   
                canvas.setAttribute("height", h); 
                ctx.drawImage(this, 0, 0, w, h);   
                if(fileSize<1){
                    //如果图片小于一兆 那么不执行压缩操作
                    base64 = canvas.toDataURL(file['type'], 1); 
                }else if(fileSize>1&&fileSize<2){
                    //如果图片大于1M并且小于2M 那么压缩0.5
                    base64 = canvas.toDataURL(file['type'], 0.5); 
                }else{
                    //如果图片超过2m 那么压缩0.2
                    base64 = canvas.toDataURL(file['type'], 0.2); 
                }
                // 回调函数返回file的值   
                callback(base64);
            }; 
        };
    }; 
  • 相关阅读:
    frp穿透.md
    6_模板与渲染.md
    4_多数据格式返回请求结果.md
    3_请求参数绑定与多数据格式处理.md
    5_中间件.md
    1_go_gin介绍.md
    2_Gin网络请求与路由处理.md
    14_文件.md
    firefox油猴脚本编写.md
    js 四舍五入
  • 原文地址:https://www.cnblogs.com/wangjae/p/13156844.html
Copyright © 2011-2022 走看看