为什么要前端来压缩图片 最近在做一个移动端h5上传图片的功能,本来这个功能并不复杂,只需要将图片文件通过axios传到服务端即可,但是考虑到现在手机设配的拍照功能十分强大,随便一张照片都能动辄五六兆,而服务端的要求是上传图片必须小于两兆,而且直接传这么大图片,带宽它也受不了,所以前端进行压缩图片 ...
实现思路 获取input的file 使用fileReader 将图片转为base 使用canvas读取base 并降低分辨率 把canvas数据转成blob对象 把blob对象转file对象 完成压缩 相关代码: 最后回调函数中的files可以直接当做正常的input file 使用,如果后续涉及到ajax,可以直接放到formData 里。 本例除文中源码外,不另外提供源码。 参考地址 :htt ...
2019-07-13 12:01 0 4711 推荐指数:
为什么要前端来压缩图片 最近在做一个移动端h5上传图片的功能,本来这个功能并不复杂,只需要将图片文件通过axios传到服务端即可,但是考虑到现在手机设配的拍照功能十分强大,随便一张照片都能动辄五六兆,而服务端的要求是上传图片必须小于两兆,而且直接传这么大图片,带宽它也受不了,所以前端进行压缩图片 ...
在项目中,为了节约网络消耗,需要将文件进行压缩后上传服务端。 最开始考虑的是将文件压缩为 zip ,由服务端返回后前端 zip 再进行解压。但 zip 对小文件、图片、视频的压缩效果很差。所以需要多种压缩方式配合使用。 图像采用 canvas 有损压缩 ...
...
概述 最近做项目思考了一下前端图片压缩问题,有一些小的心得,记录下来,供以后开发时参考,相信对其他人也有用。下面按优先级列出了前端图片压缩的解决方案。 webpack 现在前端项目都是利用webpack打包,所以我调研了一下在webpack里面压缩图片的解决方案,主要使用基于imagemin ...
今天被问到前端怎么图片压缩,然后就一顿的查资源,终于知道前端怎么压缩图片。 关键: FileReader() toDataURL() 上面两个是关键方法,是html5后出现的好东西。 就是把图片转换成Base64编码,那样就可以不用理图片在哪了, 他就被你转换成编码 ...
在移动端压缩图片并且上传主要用到filereader、canvas 以及 formdata 这三个h5的api。逻辑并不难。整个过程就是: (1)用户使用input file上传图片的时候,用filereader读取用户上传的图片数据(base64格式) (2)把图片数据传入img ...
奋力的成为前端的一朵奇葩。。。 ...
...