响应:blob() 方法

基线 广泛可用

此功能已得到良好建立,可在许多设备和浏览器版本上运行。它已在所有浏览器中可用,自 2017 年 3 月.

The blob() 方法 of the Response 接口将 Response 流读取到完成。它返回一个 Promise,该 Promise 解析为一个 Blob.

语法

js
blob()

参数

无。

注意: 如果 ResponseResponse.type"opaque",则生成的 Blob 将具有 Blob.size0 以及 Blob.type 为空字符串 "",这使其对于诸如 URL.createObjectURL() 之类的方法而言是 无用的

返回值

一个解析为 Blob 的 Promise。

异常

DOMException AbortError

请求已 中止.

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①

浏览器兼容性

BCD 表仅在浏览器中加载

另请参见