Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. XMLHttpRequest API
  4. Senden und Empfangen von Binärdaten

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

Senden und Empfangen von Binärdaten

Empfangen von Binärdaten

Die EigenschaftresponseType desXMLHttpRequest-Objekts kann gesetzt werden, um den erwarteten Antworttyp vom Server zu ändern. Mögliche Werte sind der leere String (Standard),"arraybuffer","blob","document","json" und"text". Die Eigenschaftresponse enthält den Entitätskörper entsprechendresponseType, alsArrayBuffer,Blob,Document,JSON oder String. Dies istnull, wenn die Anfrage nicht abgeschlossen oder nicht erfolgreich war.

In diesem Beispiel wird ein Bild als Binärdatei gelesen und ein 8-Bit-Unsigned-Integer-Array aus den Rohbytes erstellt. Beachten Sie, dass hierbei das Bild nicht dekodiert und die Pixel nicht gelesen werden. Dies kann mit demImageDecoder-Interface erfolgen.

js
const req = new XMLHttpRequest();req.open("GET", "/myfile.png", true);req.responseType = "arraybuffer";req.onload = (event) => {  const arrayBuffer = req.response; // Note: not req.responseText  if (arrayBuffer) {    const byteArray = new Uint8Array(arrayBuffer);    byteArray.forEach((element, index) => {      // do something with each byte in the array    });  }};req.send(null);

Sie können eine Binärdatei auch alsBlob lesen, indem Sie die Zeichenkette"blob" auf die EigenschaftresponseType setzen.

js
const req = new XMLHttpRequest();req.open("GET", "/myfile.png", true);req.responseType = "blob";req.onload = (event) => {  const blob = req.response;  // …};req.send();

Senden von Binärdaten

Diesend-Methode desXMLHttpRequest wurde erweitert, um die einfache Übertragung von Binärdaten zu ermöglichen, indem sie einArrayBuffer,Blob oderFile-Objekt akzeptiert.

Das folgende Beispiel erstellt eine Textdatei "on-the-fly" und verwendet diePOST-Methode, um die "Datei" an den Server zu senden. Dieses Beispiel verwendet Klartext, aber Sie können sich vorstellen, dass die Daten stattdessen eine Binärdatei sind.

js
const req = new XMLHttpRequest();req.open("POST", url, true);req.onload = (event) => {  // Uploaded};const blob = new Blob(["abc123"], { type: "text/plain" });req.send(blob);

Senden von typisierten Arrays als Binärdaten

Sie können auch JavaScript-Typ-Arrays als Binärdaten senden.

js
// Create a new array with fake data (Consecutive numbers (0 - 255), looping back to 0)const array = new Uint8Array(512).map((v, i) => i);const xhr = new XMLHttpRequest();xhr.open("POST", url, false);xhr.send(array);

Dies erstellt ein 512-Byte-Array von 8-Bit-Integern und sendet es; selbstverständlich können Sie beliebige Binärdaten verwenden.

Absenden von Formularen und Hochladen von Dateien

SieheFormData.

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp