base64支持压缩尺寸上传

JavaScript

    /*
     * @param m_this当前文件对象
     * @param id展示图片id
     * @param wid压缩后宽度
     * @param quality压缩质量 
     * */  
    function cutImageBase64(m_this,id,wid,quality) {
        var file = m_this.files[0];
        var URL = window.URL || window.webkitURL;
        var blob = URL.createObjectURL(file);
        var base64;

        var img = new Image();
        img.src = blob;
        img.onload = function() {
            var that = this;

            //生成比例
            var w = that.width,
                h = that.height,
                scale = w / h;
                w = wid || w;
                h = w / scale;

            //生成canvas
            var canvas = document.createElement('canvas');
            var ctx = canvas.getContext('2d');
            $(canvas).attr({
                width: w,
                height: h
            });
            ctx.drawImage(that, 0, 0, w, h);

            // 生成base64            
            base64 = canvas.toDataURL('image/jpeg', quality || 0.8);

            $(id).attr('src',base64);
        };
    }


    
     //调用 
     $(id).on('change',function(){
         var m_this = this;
         cutImageBase64(m_this,'#com_ImgPr03',400,0.8);  
     })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容