js 将blob转换为字符串
时间: 2023-08-06 21:01:47 浏览: 145
可以使用JavaScript中的FileReader对象将Blob对象转换为字符串。具体代码如下:
```javascript
function blobToString(blob, callback) {
var reader = new FileReader();
reader.onload = function() {
var dataURL = reader.result;
var str = dataURL.split(',')[1];
callback(str);
};
reader.readAsDataURL(blob);
}
```
使用方法:
```javascript
var blob = new Blob(['Hello, world!'], { type: 'text/plain' });
blobToString(blob, function(str) {
console.log(str); // 输出 "SGVsbG8sIHdvcmxkIQ=="
});
```
其中,callback函数用于获取转换后的字符串。注意,使用此方法转换的字符串是base64编码的,需要进行解码才能得到原字符串。
相关问题
Js如何将blob转换为Base64
可以使用FileReader对象的readAsDataURL方法将Blob对象转换为Base64格式的字符串,示例代码如下:
```javascript
function blobToBase64(blob) {
return new Promise((resolve, reject) => {
const reader = new FileReader();
reader.readAsDataURL(blob);
reader.onload = () => resolve(reader.result.split(',')[1]);
reader.onerror = error => reject(error);
});
}
// 使用示例
const blob = new Blob(['Hello, world!'], { type: 'text/plain' });
blobToBase64(blob).then(base64 => console.log(base64));
```
这段代码将Blob对象转换为Base64格式的字符串,并输出到控制台上。
base64 字符串转换为 Blob
base64字符串可以通过将其解码为字节数组,然后使用这些字节数组创建一个Blob对象来转换为Blob。
以下是一个示例代码,用于将base64字符串转换为Blob对象:
```javascript
function convertBase64ToBlob(base64String) {
var base64Arr = base64String.split(",");
var imgtype = "";
var base64Data = "";
if (base64Arr.length > 1) {
base64Data = base64Arr[1];
imgtype = base64Arr[0].substring(base64Arr[0].indexOf(":") + 1, base64Arr[0].indexOf(";"));
}
var byteCharacters = atob(base64Data);
var byteNumbers = new Array(byteCharacters.length);
for (var i = 0; i < byteCharacters.length; i++) {
byteNumbers[i] = byteCharacters.charCodeAt(i);
}
var byteArray = new Uint8Array(byteNumbers);
var blob = new Blob([byteArray], { type: imgtype });
return blob;
}
```
阅读全文