如何获取未压缩图片的base64码,手动转化了吗?
在前端实现图片上传到服务器的需求中,我们有时会把图片转化为base64的形式再上传给后台处理。
我们可以选择自己造一个轮子js图片转换base64编码,或者直接找一个现有的插件。
我最近使用的是webuploader,由于没有找到如何获取未压缩图片的base64码,就手动转化了。
那我们获取file对象时,用插件的话要注意寻找有blob原型的对象。
当我们拿到file对象后,就进行转换。有两种方法js图片转换base64编码,一种是使用原生对象FileReader:
<pre class="has">` let fileReader = new FileReader();
fileReader.onloadend = function (e) {
let base64 = e.target.result; // 这里的base64就是我们所要的
};
fileReader.readAsDataURL(blob); // blob 即我们之前获取到的blob对象`</pre>
还有第二种方法,使用canvas绘画出图片然后再用该对象的接口转化:
首先先用canvas绘画好2d图像,记得设置宽高,当设置好了之后加上一句
<pre class="has">var dataURL = canvas.toDataURL(); // 此处dataURL即base64
</pre>
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
仿制主题,Typecho博客主题,昼夜双版设计,可....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
bluejay21st
1月30日
我是作者,很意外我的插件会被转载,非常感谢。因为平时比较忙,改了博客的域名但是并没有及时做重定向以及更新插件,十分抱歉。
大家如果需要可以去Github下载我的插件:
https://github.com/bluejay21st/Typecho-BaiduSeo
https://github.com/bluejay21st/Typecho-Sitemap
chenyu
3天前
[已回复]
怎么配置主题 没看到教程