js中的blob,base64,url之间的关系

Posted 敲代码的卡卡罗特

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的blob,base64,url之间的关系相关的知识,希望对你有一定的参考价值。

js的base64编码和解码

英文是这样的:
//
atob() 将base64解码 // btoa() 将字符串转码为base64 var str = javascript; window.btoa(str) //转码结果 "amF2YXNjcmlwdA==" window.atob("amF2YXNjcmlwdA==") //解码结果 "javascript"



中文需要特殊一下。需要用到转码
encodeURIComponent 和 decodeURIComponent

console.log(window.btoa(encodeURIComponent("哈哈")))
console.log(decodeURIComponent(window.atob("JUU1JTkzJTg4JUU1JTkzJTg4")))
JUU1JTkzJTg4JUU1JTkzJTg4
哈哈

base64 转 blob 对象,文件上传 

/** 
* base64 转 blob 对象,文件上传 
 * 转载自:http://blog.csdn.net/hsany330/article/details/52575459 
 * @param dataURI 
 * @returns {Blob} 
 */  
function dataURItoBlob(dataURI) {  
    var byteString = atob(dataURI.split(‘,‘)[1]);  
    var mimeString = dataURI.split(‘,‘)[0].split(‘:‘)[1].split(‘;‘)[0];  
    var ab = new ArrayBuffer(byteString.length);  
    var ia = new Uint8Array(ab);  
    for (var i = 0; i < byteString.length; i++) {  
        ia[i] = byteString.charCodeAt(i);  
    }  
    return new Blob([ab], {type: mimeString});  
}

 

以上是关于js中的blob,base64,url之间的关系的主要内容,如果未能解决你的问题,请参考以下文章

javascript Url 传参的坑,base64参数和url参数之间的转移

javascript base64到blob #js#base64

javascript base64到blob #js#base64

前端js实现 blob转base64位 和 base64位转blob

js 将图片转换为base64编码

ajax接口返回图片类型数据,转为base64赋值给img