概述 最近做项目思考了一下前端图片压缩问题,有一些小的心得,记录下来,供以后开发时参考,相信对其他人也有用。下面按优先级列出了前端图片压缩的解决方案。 webpack 现在前端项目都是利用webpack打包,所以我调研了一下在webpack里面压缩图片的解决方案,主要使用基于imagemin ...
在项目中,为了节约网络消耗,需要将文件进行压缩后上传服务端。 最开始考虑的是将文件压缩为 zip ,由服务端返回后前端 zip 再进行解压。但 zip 对小文件 图片 视频的压缩效果很差。所以需要多种压缩方式配合使用。 图像采用canvas 有损压缩: 其余文件采用 zip 方式无损压缩,这里使用的是 jszip : 对于视频和小文件,暂时没有找到合适的压缩方式。且因为 zip 的压缩率不稳定, ...
2021-10-22 15:54 0 141 推荐指数:
概述 最近做项目思考了一下前端图片压缩问题,有一些小的心得,记录下来,供以后开发时参考,相信对其他人也有用。下面按优先级列出了前端图片压缩的解决方案。 webpack 现在前端项目都是利用webpack打包,所以我调研了一下在webpack里面压缩图片的解决方案,主要使用基于imagemin ...
今天被问到前端怎么图片压缩,然后就一顿的查资源,终于知道前端怎么压缩图片。 关键: FileReader() toDataURL() 上面两个是关键方法,是html5后出现的好东西。 就是把图片转换成Base64编码,那样就可以不用理图片在哪了, 他就被你转换成编码 ...
实现思路 获取input的file 使用fileReader() 将图片转为base64 使用canvas读取base64 并降低分辨率 把canvas数据转成blob对象 把blob对象转file对象 完成压缩 相关代码: 最后回调函数中 ...
在移动端压缩图片并且上传主要用到filereader、canvas 以及 formdata 这三个h5的api。逻辑并不难。整个过程就是: (1)用户使用input file上传图片的时候,用filereader读取用户上传的图片数据(base64格式) (2)把图片数据传入img ...
奋力的成为前端的一朵奇葩。。。 ...
...
使用canvas来压缩图片 canvas的toDataUrl方法可以将内容导出为base64编码格式的图片,采用base64编码将比源文件大1/3,但是该方法可以指定导出图片质量,所以前端可实现上传图片的压缩。先通过fileApi拿到本地图片地址,然后新建一个Img元素,图片绘制 ...
html代码: ...