js blob转base64
时间: 2023-10-04 20:07:38 浏览: 19
可以使用FileReader API将Blob对象转换为Base64编码。以下是一个示例代码:
```javascript
function blobToBase64(blob, callback) {
var reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = function () {
var result = reader.result.split(',')[1];
callback(result);
};
}
```
调用方式如下:
```javascript
var blob = new Blob(['Hello, world!'], { type: 'text/plain' });
blobToBase64(blob, function (base64) {
console.log(base64);
});
```
这将输出以下内容:
```
SGVsbG8sIHdvcmxkIQ==
```
其中"SGVsbG8sIHdvcmxkIQ=="就是转换后的Base64编码字符串。
相关问题
blob 转 base64
要将Blob对象转换为Base64字符串,您可以使用FileReader对象。下面是一个示例代码,演示了如何将Blob转换为Base64:
```javascript
function blobToBase64(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => {
resolve(reader.result);
};
reader.onerror = reject;
reader.readAsDataURL(blob);
});
}
// 用法示例
const blob = new Blob(['Hello, world!'], { type: 'text/plain' });
blobToBase64(blob).then(base64String => {
console.log(base64String);
}).catch(error => {
console.error(error);
});
```
在上面的代码中,`blobToBase64`函数接受一个Blob对象作为参数,并返回一个Promise对象。在函数内部,我们创建一个FileReader对象,并设置其`onloadend`回调函数,当读取完成时,它会将结果作为Base64字符串传递给resolve函数。如果发生错误,则调用reject函数。
使用示例中的代码,我们创建了一个包含字符串"Hello, world!"的Blob对象,并通过`blobToBase64`函数将其转换为Base64字符串。然后,我们在控制台打印Base64字符串。您可以根据自己的需求替换Blob对象。
请注意,如果Blob对象非常大,转换为Base64字符串可能会占用大量内存。在处理大型Blob时,请谨慎使用此方法。
blob转base64
你可以使用以下代码将 Blob 对象转换为 Base64 字符串:
```javascript
function blobToBase64(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.onloadend = () => resolve(reader.result);
reader.onerror = reject;
reader.readAsDataURL(blob);
});
}
const blob = new Blob(['Hello, World!'], { type: 'text/plain' });
blobToBase64(blob)
.then(base64String => {
console.log(base64String);
})
.catch(error => {
console.error(error);
});
```
这段代码使用了 `FileReader` 对象的 `readAsDataURL` 方法将 Blob 对象转换为 Data URL,然后将 Data URL 转换为 Base64 字符串,并通过 Promise 进行异步操作。