在js中blob流base64和File转化的方法

在blob流转化成base64的方法

function blobtoBase64(blob, callback) {
        const reader = new FileReader();
        reader.readAsDataURL(blob);

        reader.onload = function () {
            callback(reader.result);
        };

    }
blobtoBase64(blob, function(res){
console.log(res,88888)})

base64TO file,base64 先转换为 Blob,再由 Blob 转换为 File:

在 JavaScript 中,可以使用 Blob 对象将 base64 字符串转换为二进制数据对象 Blob。
首先,使用 atob() 函数将 base64 字符串解码为二进制字符串。然后,使用 Uint8Array 构造函数将二进制字符串转换为字节数组。最后,使用 Blob 构造函数,将字节数组作为第一个参数,创建一个新的 Blob 对象。

function base64ToFile(base64,fileName){
let arr =base64.split(",");
let mime = arr[0].match(/:(.\*?);/)[1];
let bstr = atob(arr[1]);
let n= bstr.length;
let u8arr = new Uint8Array(n);
while(n--){
u8arrI[n]= bstr.charCodeAt(n);
}
return new File([u8arr],fileName,{type: mime });
}

BolbToFile

function blobToFile(blob,fileName){
return new File([blob],fileName)
}

File => base64

function fileToBase64(file){
 return new Promise((resolve,reject)=>{
//创建一个新的FileReader对象
const reader = new FileReader()
//读取File 对象
reader.readAsDataURL(file);
//加载完成后
reader.onload= function(){
//将读取的数据转换为base64编码的字符串
const base64String =reader.result.split(",")[1];
// 解析为Promise对象,并返回base64编码的字符串
resolve(base64String);
}
//加载失败时
reader.onerror=function(){
reject(new Error('Failed to load file'))
}
})
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值