Ich entwickle eine Anwendung, wo ich Bilddaten in einem Uint8Array gespeichert bekomme. Dann transformiere ich diese Daten in einen Blob und baue dann die Bild-URL.Blob-Konstruktor-Browser-Kompatibilität
Simplified Codedaten vom Server zu erhalten:
var array;
var req = new XMLHttpRequest();
var url = "img/" + uuid + "_" +segmentNumber+".jpg";
req.open("GET", url, true);
req.responseType = "arraybuffer";
req.onload = function(oEvent) {
var data = req.response;
array = new Int8Array(data);
};
Constructor:
out = new Blob([data], {type : datatype});
The Blob contsructor Problem verursacht. Es funktioniert auf allen Browsern mit Ausnahme von Chrome auf Mobilgeräten und Desktopgeräten.
Verwendung von Blob:
// Receive Uint8Array using AJAX here
// array = ...
// Create BLOB
var jpeg = new Blob([array.buffer], {type : "image/jpeg"});
var url = DOMURL.createObjectURL(jpeg);
img.src = url;
Desktop-Chrome gibt mir ein Warnning: ArrayBuffer values are deprecated in Blob Constructor. Use ArrayBufferView instead.
Mobile Chrome gibt mir ein Fehler: illegal constructor
Wenn ich ändern der Konstruktor zu arbeiten In Chrome schlägt es bei anderen Browsern fehl.
Ich schrieb einen polyfill hier: http://stackoverflow.com/a/16545415/2382059 – casey