Skip to content

@longmo-utils/browser / blobToArrayBuffer

Function: blobToArrayBuffer()

ts
function blobToArrayBuffer(blob): Promise<ArrayBuffer>;

将 Blob 转换为 ArrayBuffer(高性能版本)

使用 Blob.arrayBuffer() API,比 FileReader 性能更优 兼容性:Chrome 76+, Firefox 69+, Safari 14+, Edge 79+

Parameters

ParameterTypeDescription
blobBlob要转换的 Blob 对象

Returns

Promise<ArrayBuffer>

返回包含 ArrayBuffer 的 Promise

Examples

typescript
const blob = new Blob(['hello world'], { type: 'text/plain' });
const arrayBuffer = await blobToArrayBuffer(blob);
console.log(arrayBuffer.byteLength); // 11
typescript
const fileInput = document.querySelector('input[type="file"]');
const file = fileInput.files[0];
const arrayBuffer = await blobToArrayBuffer(file);
const text = new TextDecoder().decode(arrayBuffer);
console.log(text); // 文件内容
typescript
const blob = await fetch('https://example.com/data.bin').then(r => r.blob());
const arrayBuffer = await blobToArrayBuffer(blob);
// 处理二进制数据...

Released under the MIT License.