blob
The Blob
class represents immutable raw binary data. Blobs are commonly used for file-like objects, uploads, and binary manipulation.
API Surface
Class: Blob
new Blob(sources[, options])
— create blob from array of parts.- Parts: strings, BufferSource, Blob.
- Options:
{ type: "mime/type" }
.
Properties
blob.size
— size in bytes.blob.type
— MIME type string.
Methods
blob.slice([start], [end], [type])
— return a new Blob view.blob.arrayBuffer()
— resolve to ArrayBuffer.blob.text()
— resolve to string.blob.stream()
— readable stream of blob data.
Examples (English only)
// Create a blob from text
const b = new Blob(["Hello Bnlang"], { type: "text/plain" });
console.log("size:", b.size, "type:", b.type);
// Convert to text
const txt = await b.text();
console.log("text:", txt);
// Slice & arrayBuffer
const part = b.slice(0, 5, "text/plain");
console.log("part text:", await part.text());
// Stream blob
for await (const chunk of b.stream()) {
console.log("chunk:", chunk);
}
Notes
- Blobs are immutable; operations return new Blobs.
- MIME type is advisory; consumers may ignore it.
- Use
Blob
with FormData for file uploads. - For random access binary edits, use Buffer instead.