Gibt es eine Möglichkeit zum senden von binären Daten mit XMLHttpRequest-Objekt?
Ich bin versucht zu senden binäre chunk mit XMLHttpRequest
var xhr = new XMLHttpRequest();
var bindata = 0x0f0f;
xhr.open("POST", "binary_reader.php");
xhr.send(bindata);
Aber dieser Ansatz nicht funktioniert. Ich habe versucht, Content-type: application/octet-stream, Content-encoding Header für xhr und Sie nicht arbeiten entweder. Ich vermute, dass es keine Möglichkeit gibt, zu Komponieren Anfrage solcher Art.
Ich würde jede Hilfe zu schätzen wissen.
- Sind Sie versuchen, zu senden, eine Datei auf diese Weise? Es gibt einige änderungen in den level-2-Spezifikation, die es ermöglichen, blob senden, es hängt davon ab, was genau du versuchst zu tun, aber: w3.org/TR/XMLHttpRequest2/#the-send-method
- Nein, das ist nicht eine Datei. Es ist eine codierte Paket, das gesendet werden sollen auf dem server. Server wiederum antwortet mit einem Paket von ähnlicher Struktur. Ich verstehe, ich kann so oder so machen und verschlüsseln/entschlüsseln Pakete, die beim senden/empfangen geschieht mit base64 kodiert ist, aber ich versuche zu sparen, CPU-Zeit und Paketgröße, overhead, weil der webapp "realtimeness".
Du musst angemeldet sein, um einen Kommentar abzugeben.
XMLHttpRequest.sendAsBinary
ist veraltet. LinkAls MDN erwähnt, die Sie direkt senden kann, binäre typisiertes array:
Ja, Sie können das senden von binären Daten mit XHR. Alles, was Sie tun müssen, ist, legen Sie die entsprechenden Header und mime-Typs, und rufen Sie die sendAsBinary Methode statt der einfachen Methode senden. Zum Beispiel:
W3C eingeführt hat Blob-Typ XMLHttpRequest in der die Letzte Spezifikation. Derzeit habe ich nicht gesehen, jede Umsetzung so weit, aber in Naher Zukunft dies ist definitiv die Möglichkeit zum download und upload von Binär-Daten mit XMLHttpRequest.
Den Abschnitt "Umgang mit binären Daten hier beschreibt, wie das senden und empfangen von binären Daten per XMLHttpRequest-Objekt.