• 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返回

  • 相关阅读:
    练习三
    练习四
    练习二
    软件生命周期
    练习一 第六题
    练习一 第五题
    练习一 第四题
    练习一 第三题
    练习一 第二题
    AngularJs模块
  • 原文地址:https://www.cnblogs.com/MainActivity/p/9359400.html
Copyright © 2020-2023  润新知