Sto sviluppando un'applicazione in cui ricevo i dati di immagine memorizzati in un uint8Array. Poi trasformo questi dati in un BLOB e poi costruisco l'URL dell'immagine.Compatibilità browser costruttore Blob
codice semplificato per ottenere i dati dal server:
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);
};
Costruttore:
out = new Blob([data], {type : datatype});
Il contsructor Blob sta causando problemi. Funziona bene su tutti i browser ad eccezione di Chrome su dispositivi mobili e desktop.
Uso di 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 mi dà un warnning: ArrayBuffer values are deprecated in Blob Constructor. Use ArrayBufferView instead.
mobile Chrome mi dà un errore: illegal constructor
Se cambio il costruttore a lavorare su Chrome fallisce su altri browser.
ho postato un polyfill qui: http://stackoverflow.com/a/16545415/2382059 – casey