Response: phương thức blob()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.

Note: This feature is available in Web Workers.

Phương thức blob() của giao diện Response nhận một luồng Response và đọc nó đến hết. Phương thức này trả về một promise giải quyết với một Blob.

Cú pháp

js
blob()

Tham số

Không có.

Note: Nếu ResponseResponse.type"opaque", Blob kết quả sẽ có Blob.size bằng 0Blob.type là chuỗi rỗng "", khiến nó trở nên vô dụng cho các phương thức như URL.createObjectURL().

Giá trị trả về

Một promise giải quyết với một Blob có dữ liệu là các byte của body và kiểu media là giá trị của header Content-Type của phản hồi.

Ngoại lệ

AbortError DOMException

Yêu cầu đã bị hủy.

TypeError

Ném ra vì một trong các lý do sau:

Ví dụ

Trong ví dụ fetch request của chúng tôi (chạy trực tiếp), chúng ta tạo một yêu cầu mới bằng constructor Request(), rồi dùng nó để fetch một ảnh JPG. Khi fetch thành công, chúng ta đọc một Blob từ phản hồi bằng blob(), đặt nó vào một object URL bằng URL.createObjectURL(), rồi đặt URL đó làm nguồn của phần tử <img> để hiển thị ảnh.

js
const myImage = document.querySelector("img");

const myRequest = new Request("flowers.jpg");

fetch(myRequest)
  .then((response) => response.blob())
  .then((myBlob) => {
    const objectURL = URL.createObjectURL(myBlob);
    myImage.src = objectURL;
  });

Thông số kỹ thuật

Specification
Fetch
# ref-for-dom-body-blob①

Tương thích trình duyệt

Xem thêm