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);
            }; 
        };
    }; 
  • 相关阅读:
    C语言ll作业01
    C语言寒假大作战04
    C语言寒假大作战03
    C语言寒假大作战02
    C语言寒假大作战01
    C语言I作业12—学期总结
    C语言I博客作业11
    C语言I博客作业10
    第三章预习笔记-运算方法和运算部件
    非数值数据的编码表示
  • 原文地址:https://www.cnblogs.com/wangjae/p/13156844.html
Copyright © 2011-2022 走看看