响应:blob() 方法
语法
js
blob()
参数
无。
注意: 如果 Response
的 Response.type
为 "opaque"
,则生成的 Blob
将具有 Blob.size
为 0
以及 Blob.type
为空字符串 ""
,这使其对于诸如 URL.createObjectURL()
之类的方法而言是 无用的。
返回值
一个解析为 Blob
的 Promise。
异常
DOMException
AbortError
-
请求已 中止.
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① |
浏览器兼容性
BCD 表仅在浏览器中加载