Setzen des content-type auf blob

Sind wir transferieren Blob (Bild) unten eine websocket und Rendern es auf eine Leinwand, auf der anderen Seite.

Wenn ich createObjectURL mit dem blob, bekomme ich diese Warnung:

Resource interpreted as Image but transferred with MIME type text/plain: "blob:https%3A//example.com/demo".

Schaffen wir das URL-Objekt mit dem folgenden code. Der blob ist das senden über eine websocket-standard mit socket.binaryType = "blob"; auf der client-Seite:

socket.onmessage = function(e) {
  var blob = e.data;
  var url = (window.URL || window.webkitURL).createObjectURL(blob);

  var image = document.createElement('img');
  image.src = url;
}

Nur so kann ich denken, um diese Warnung zu beheben ist, erstellen Sie eine Kopie des blob mit dem folgenden code, aber ich will mich nicht vorstellen, der Aufwand für das kopieren aller Daten:

var blob = new Blob([e.data], {
  type: 'image/gif'
});

Die Methode wird aufgerufen, Dutzende Male pro Sekunde.

Irgendwelche Ideen auf, wie die blob-Inhalts-Typ, ohne eine doppelte Blob Objekt mit new Blob?

  • Können Sie zeigen, wie Sie senden Sie die blob-Daten? Beachten Sie, dass die .binaryType Eigenschaft ist nur wirksam, auf binäre Nachricht - wenn Sie das senden von Texten, die event.data wird immer eine Zeichenfolge enthalten.
  • Es ist sehr einfach: socket.send(message); im Node JS Ende. message ist ein binärer blob-Objekt aus einem OSX-app über SocketRocket (NSData- Typ). Die Meldung ist definitiv eine binäre blob.
InformationsquelleAutor Chris Nolet | 2013-09-25
Schreibe einen Kommentar