JS 实现blob与base64互转
/**
* base64 to blob二进制
*/
function dataURItoBlob(dataURI) {
var mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0]; // mime类型
var byteString = atob(dataURI.split(',')[1]); //base64 解码
var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
var intArray = new Uint8Array(arrayBuffer); //创建视图 for (var i = 0; i < byteString.length; i++) {
intArray[i] = byteString.charCodeAt(i);
}
return new Blob([intArray], {type: mimeString});
} /**
*
* blob二进制 to base64
**/
function blobToDataURI(blob, callback) {
var reader = new FileReader();
reader.onload = function (e) {
callback(e.target.result);
}
reader.readAsDataURL(blob);
}
Data URL格式
Data URI 的格式
data:[<mime type>][;charset=<charset>][;base64],<encoded data>
第一部分是
data:
协议头,它标识这个内容为一个 data URI 资源。第二部分是 MIME 类型,表示这串内容的展现方式,比如:
text/plain
,则以文本类型展示,image/jpeg
,以 jpeg 图片形式展示,同样,客户端也会以这个 MIME 类型来解析数据。第三部分是编码设置,默认编码是
charset=US-ASCII
, 即数据部分的每个字符都会自动编码为%xx
,关于编码的测试,可以在浏览器地址框输入分别输入下面两串内容,查看效果:// output: ä½ å¥½ -> 使用默认的编码展示,故乱码
data:text/html,你好
// output: 你好 -> 使用 UTF-8 展示
data:text/html;charset=UTF-8,你好
// output: 浣犲ソ -> 使用 gbk 展示(浏览器默认编码 UTF-8,故乱码)
data:text/html;charset=gbk,你好
// output: 你好 -> UTF-8 编码,内容先使用 base64 解码,然后展示
data:text/html;charset=UTF-8;base64,5L2g5aW9第四部分是 base64 编码设定,这是一个可选项,base64 编码中仅包含 0-9,a-z,A-Z,+,/,=,其中 = 是用来编码补白的。
最后一部分为这个 Data URI 承载的内容,它可以是纯文本编写的内容,也可以是经过 base64编码 的内容。
很多时候我们使用 data URI 来呈现一些较长的内容,如一串二进制数据编码、图片等,采用 base64 编码可以让内容变得更加简短。而对图片来说,在 gzip 压缩之后,base64 图片实际上比原图 gzip 压缩要大,体积增加大约为三分之一,所以使用的时候需要权衡。
参考: http://www.cnblogs.com/hustskyking/p/data-uri.html
Example
base64 可为任意数据格式MIME,text/html,image/jpeg,image/png******
依图片png base64为例
// base64 转blob
var base64Str = 'data:image/png;base64,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';
var blob = dataURItoBlob(base64Str);
console.log(blob);
// blob 转 base64
blobToDataURI(blob, function (data) {
console.log(data);
});
JS 实现blob与base64互转的更多相关文章
- 前端js实现 blob转base64位 和 base64位转blob
//**dataURL to blob** function dataURLtoBlob(dataurl) { var arr = dataurl.split(','), mime = arr[0]. ...
- js实现图片资源、blob、base64的各种场景转换
文件转babase64 function getImgToBase64(url,callback){//将图片转换为Base64 var canvas = document.createElement ...
- 【干货】JS版汉字与拼音互转终极方案,附简单的JS拼音输入法
前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字 ...
- JS版汉字与拼音互转终极方案,附简单的JS拼音输入法
原文:http://www.cnblogs.com/liuxianan/p/pinyinjs.html 前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多 ...
- JS版汉字与拼音互转终极方案,附简单的JS拼音
前言 网上关于JS实现汉字和拼音互转的文章很多,但是比较杂乱,都是互相抄来抄去,而且有的不支持多音字,有的不支持声调,有的字典文件太大,还比如有时候我仅仅是需要获取汉字拼音首字母却要引入200kb的字 ...
- js如何实现简繁体互转
js如何实现简繁体互转 一.总结 一句话总结:其实无论是简体还是繁体,都是在显示端(前端),其实所有的我只用动js就好了,没必要动php. 当然,后端也可以做前端的事情,只是麻烦了点(要多通信两次,第 ...
- js,JQ 图片转换base64 base64转换为file对象,blob对象
//将图片转换为Base64 function getImgToBase64(url,callback){ var canvas = document.createElement('canvas'), ...
- JS 图片转blob 转base64
//转换为blob有跨域限制 var loadImageToBlob = function (url, callback) { if (!url || !callback) return false; ...
- 前端JS转图片为base64并压缩、调整尺寸脚本
image to base64 to blob //////////////////////////////////////////////////////////////////////////// ...
随机推荐
- Redis主从配置和哨兵监控配置——服务器端环境搭建
一:介绍 公司用到的redis框架,主要分为cluster的缓存集群和sentinel中的哨兵主从.这种的选用方式一般需要更具业务场景来做区分,两种框架的配置图为:右图为哨兵主从框架和cliuster ...
- 快速理解js中的call,apply的作用
今天被人问到js中的call,apply的区别和用途,解释了一番后,想到之前在逼乎上看到一位小伙伴生动形象的解释 本身不难理解,看下MDN就知道了,但是不常用,遇到了,还要脑回路回转下.或者时间长了, ...
- JavaScript中数据类型判断
做判断前先来了解下 JavaScript 中的基本数据类型 一.七大数据类型 基本类型:存储在栈( stack )中 Number(包括整型和浮点型) String. Boolean. Symbol ...
- JS学习笔记Day24
一.闭包和函数 (一)什么是闭包函数 概念:简单说就是函数中嵌套函数,嵌套在这里面的函数叫做闭包函数,外面的函数叫做闭包环境 作用:通过闭包函数,可以访问到闭包函数所在局部作用域中的变量及参数 特点: ...
- 关于JVM加载class文件和类的初始化
关于JVM加载class文件和类的初始化 1.JVM加载Class文件的原理机制 1.1.装载 查找并加载类的二进制数据 1.2.链接 验证:确保被加载类的正确性.(安全性考虑) 准备:为类的静态变量 ...
- django——个人博客之分页/筛选功能
在完成了注册.登录后就应该显示主页,在主页中有各种功能的按钮,用户点击后进入后台管理,不同角色的用户根据权限不同显示的页面是不相同的,在个人博客页面会显示自己发布的文章,以及自己的保障记录,在进入后台 ...
- [C++]UVaLive7324 ASCII Addtion
Description Nowadays, there are smartphone applications that instantly translate text and even solve ...
- ES2015 中的函数式Mixin
原文链接:http://raganwald.com/2015/06/17/functional-mixins.html 在“原型即对象”中,我们看到可以对原型使用 Object.assign 来模拟 ...
- linux下安装svn1.7
转自 https://blog.csdn.net/u011752559/article/details/11559573?locationNum=11&fps=1 1.下载svn安装包 wge ...
- “放到桌面”的Servlet实现
复习下Servlet下载文件, 当response把ContentType设置成application/xxxx的时候呢,浏览器会默认启动下载,而不是试图打开. 通过给httpHeader里面加入内容 ...