Response: blob()-Methode
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.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die blob()
-Methode der Response
-Schnittstelle nimmt
einen Response
-Stream und liest ihn vollständig. Sie gibt ein Promise zurück, das mit einem Blob
aufgelöst wird.
Syntax
blob()
Parameter
Keine.
Hinweis: Wenn die Response
einen
Response.type
von "opaque"
hat, wird der resultierende Blob
eine Blob.size
von 0
und einen Blob.type
von
leerem String ""
haben, was ihn unbrauchbar für Methoden wie
URL.createObjectURL()
macht.
Rückgabewert
Ein Promise, das mit einem Blob
aufgelöst wird.
Ausnahmen
DOMException
AbortError
-
Die Anfrage wurde abgebrochen.
TypeError
-
Wird aus einem der folgenden Gründe ausgelöst:
- Der Anforderungskörper ist gestört oder gesperrt.
- Es gab einen Fehler beim Dekodieren des Körperinhalts (zum Beispiel, weil der
Content-Encoding
-Header falsch ist).
Beispiele
In unserem Fetch-Anfrage-Beispiel (führen Sie die Fetch-Anfrage live aus), erstellen wir
eine neue Anfrage mit dem Request()
-Konstruktor und verwenden sie, um ein JPG zu holen. Wenn das Fetch erfolgreich ist, lesen wir ein Blob
aus der Antwort mit blob()
, platzieren es in einer Objekt-URL mithilfe von
URL.createObjectURL()
und setzen diese URL als Quelle eines <img>
-Elements, um das Bild anzuzeigen.
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;
});
Spezifikationen
Specification |
---|
Fetch Standard # ref-for-dom-body-blob① |
Browser-Kompatibilität
BCD tables only load in the browser