之前就看到H5使用canvas就可以在前端使用JS压缩图片,这次接到任务要把这个功能嵌入到ueditor里面去,以节省流量,减轻服务器压力. H5使用canvas进行压缩的代码有很多,核心原理就是创建Image对象,导入canvas,限制canvas大小,然后导出为base64,生成二进制对象,最后将二进制对象进行上传. 我们要修改的文件在ueditor.all.js里,第24352行: UE.plugin.register('simpleupload', function (){ var me
function preview_picture(pic){ var r=new FileReader(); r.readAsDataURL(pic); r.onload=function(e){ dealImage(this.result,{width:600},function(data){ picture=data $('#pic-box').attr("src",data); }); } } function dealImage(path, obj, callback){ va
1.canvas.toDataUrl压缩图片 canvas的toDataUrl方法可以将内容导出为base64编码格式的图片,采用base64编码将比源文件大1/3,但是该方法可以指定导出图片质量,所以前端可实现上传图片的压缩.先通过fileApi拿到本地图片地址,然后新建一个Img元素,图片绘制到canvas中后再将其导出(压缩).例如: $(':file').on('change',function(){ var file = this.files[0]; v