The Blob object represents a blob, which is a file-lượt thích object of immutable, raw data; they can be read as text or binary data, or converted into lớn a ReadableStream so its methods can be used for processing the data.

Bạn đang xem: Blob là gì

Blobs can represent data that isn"t necessarily in a JavaScript-native sầu format. The File interface is based on Blob, inheriting blob functionality & expanding it to support files on the user"s system.


To construct a Blob from other non-blob objects & data, use the Blob() constructor. To create a blob that contains a subphối of another blob"s data, use the slice() method. To obtaina Blob object for a file on the user"s file system, see the File documentation.

The APIs accepting Blob objects are also listed in the File documentation.


Blob() Returns a newly created Blob object which contains a concatenation of all of the data in the array passed into lớn the constructor.
Blob.prototype.size Read only The form size, in bytes, of the data contained in the Blob object. Blob.prototype.type Read only A string indicating the MIMEtype of the data contained in the Blob. If the type is unknown, this string is empty.
Blob.prototype.arrayBuffer() Returns a promise that resolves with an ArrayBuffer containing the entire contents of the Blob as binary data. Blob.prototype.slice() Returns a new Blob object containing the data in the specified range of bytes of the blob on which it"s called. Blob.prototype.stream() Returns a ReadableStream that can be used lớn read the contents of the Blob. Blob.prototype.text() Returns a promise that resolves with a USVString containing the entire contents of the Blob interpreted as UTF-8 text.

Xem thêm: 5 Nghĩa Thông Dụng Nhất Của Cụm Từ “ Get On Là Gì ? Cụm Động Từ Với Get


The Blob() constructor can create blobs from other objects. For example, khổng lồ construct a blob from a JSON string:

const obj = hello: "world";const blob = new Blob(, type : "application/json");
The following code creates a JavaScript typed array and creates a new Blob containing the typed array"s data. It then calls URL.createObjectURL() khổng lồ convert the blob into lớn a URL.

HTML

p>This example creates a typed array containing the ASCII codes for the space character through the letter Z, then converts it to an object URL. A liên kết khổng lồ open that object URL is created. Cliông xã the liên kết to see the decoded object URL.p>JavaScriptThe main piece of this code for example purposes is the typedArrayToURL() function, which creates a Blob from the given typed array và returns an object URL for it. Having converted the data inkhổng lồ an object URL, it can be used in a number of ways, including as the value of the element"s src attribute (assuming the data contains an image, of course).

function typedArrayToURL(typedArray, mimeType) return URL.createObjectURL(new Blob(, type: mimeType))const bytes = new Uint8Array(59);for(let i = 0; i 59; i++) bytes = 32 + i;const url = typedArrayToURL(bytes, "text/plain");const liên kết = document.createElement("a");liên kết.href = url;links.innerText = "Open the array URL";document.toàn thân.appendChild(link);ResultCliông xã the links in the example khổng lồ see the browser decode the object URL.


One way lớn read content from a Blob is lớn use a FileReader. The following code reads the nội dung of a Blob as a typed array:

const reader = new FileReader();reader.addEventListener("loadend", () => // reader.result contains the contents of blob as a typed array);reader.readAsArrayBuffer(blob);Another way lớn read nội dung from a Blob is khổng lồ use a Response. The following code reads the content of a Blob as text:

const text = await (new Response(blob)).text();Or by using Blob.prototype.text():

const text = await blob.text();By using other methods of FileReader, it is possible to lớn read the contents of a Blob as a string or a data URL.


Specification Status Comment
File APIThe definition of "The Blob interface" in that specification. Working Draft Initial definition.

Browser compatibility

BCD tables only load in the browser


See also


Found a problem with this page?

Last modified: Feb 19, 2021, by MDoanh Nghiệp contributors

Change your languageSelect your preferred language English (US)DeutschEspañolFrançais日本語한국어Português (doBrasil)Русский中文 (简体)正體中文 (繁體) Change language