zoukankan      html  css  js  c++  java
  • HTML-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);
            }; 
        };
    }; 

    图片压缩完成以后会转换成base64返回

  • 相关阅读:
    C#中标准Dispose模式的实现
    TcpListener 示例
    TCP/IP详解学习笔记
    TCP跟UDP乱侃
    Opencv 2.4.10 +VS2010 项目配置记录
    字符串作业及默写
    Flask 中的 Render Redirect HttpResponse
    运算符和编码作业及默写
    初识 Python 作业及默写
    初识 Python
  • 原文地址:https://www.cnblogs.com/Python-XiaCaiP/p/10117636.html
Copyright © 2011-2022 走看看