blob 和 base64 相互转换

一、blob 转 base64

1. 方法

// blob 转 base64
function blobToDataURI(blob, callback) {
   
   
  var reader = new FileReader();
  reader.readAsDataURL(blob);
  reader.onload = function (e) {
   
   
    callback(e.target.result);
  };
}
### 将图片的Blob对象Base64编码 在前端开发中,将Blob对象转换Base64编码是一种常见的需求。可以通过使用`FileReader`对象来实现这一功能。以下是具体的实现方法: ```javascript /** * Blob对象Base64编码 * @param {Blob} blob - 需要转换Blob对象 * @returns {Promise<string>} 返回一个Promise对象,解析后得到Base64编码字符串 */ export function blobToBase64(blob) { return new Promise((resolve, reject) => { const fileReader = new FileReader(); fileReader.onload = (e) => { resolve(e.target.result); // e.target.result 即为Base64编码字符串 }; fileReader.onerror = () => { reject(new Error('blobToBase64 error')); // 错误处理 }; fileReader.readAsDataURL(blob); // 将Blob对象读取为Data URL格式 }); } ``` 上述代码定义了一个函数`blobToBase64`,该函数接受一个Blob对象作为参数,并返回一个Promise对象[^2]。当Promise成功解析时,会返回Base64编码的字符串。 例如,如果需要调用此函数,可以按照以下方式操作: ```javascript const blob = new Blob(['Hello, world!'], { type: 'text/plain' }); // 示例Blob对象 blobToBase64(blob).then(base64String => { console.log(base64String); // 输出Base64编码字符串 }).catch(error => { console.error(error); // 捕获并输出错误信息 }); ``` 通过这种方式,可以轻松地将Blob对象转换Base64编码字符串[^2]。 ### 注意事项 - 在实际应用中,确保Blob对象的数据类型与目标Base64编码的需求一致。 - 如果Blob对象较大,可能会导致性能问题,需注意优化或分块处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值