Response: blob() 方法

Baseline 已廣泛支援

此特性已得到良好確立,可跨多種裝置和瀏覽器版本使用。自 2017 年 3 月起,所有瀏覽器均支援此特性。

注意:此功能在 Web Workers 中可用。

Response 介面的 blob() 方法會讀取一個 Response 流並將其完全讀取。它返回一個解析為 Blob 的 Promise。

語法

js
blob()

引數

無。

注意: 如果 ResponseResponse.type"opaque",則生成的 Blob 將具有 Blob.size0Blob.type 為空字串 "",這將使其對於 URL.createObjectURL() 等方法無用

返回值

一個解析為 Blob 的 Promise。

異常

AbortError DOMException

請求已被 中止

TypeError

因以下原因之一而丟擲:

示例

在我們 fetch 請求示例(執行 fetch 請求即時演示)中,我們使用 Request() 建構函式建立了一個新請求,然後使用它來獲取一個 JPG。當 fetch 成功時,我們使用 blob() 方法從響應中讀取一個 Blob,使用 URL.createObjectURL() 將其放入一個物件 URL,然後將該 URL 設定為 <img> 元素的源以顯示影像。

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;
  });

規範

規範
Fetch
# ref-for-dom-body-blob①

瀏覽器相容性

另見