Response: blob() 方法
注意:此功能在 Web Workers 中可用。
Response 介面的 blob() 方法會讀取一個 Response 流並將其完全讀取。它返回一個解析為 Blob 的 Promise。
語法
js
blob()
引數
無。
注意: 如果 Response 的 Response.type 為 "opaque",則生成的 Blob 將具有 Blob.size 為 0,Blob.type 為空字串 "",這將使其對於 URL.createObjectURL() 等方法無用。
返回值
一個解析為 Blob 的 Promise。
異常
AbortErrorDOMException-
請求已被 中止。
TypeError-
因以下原因之一而丟擲:
- 響應體已被 干擾或鎖定。
- 解碼正文內容時出錯(例如,因為
Content-Encoding標頭不正確)。
示例
在我們 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① |
瀏覽器相容性
載入中…