我正在開發一個應用程序,我接收存儲在uint8Array中的圖像數據。 然後,我將這些數據轉換爲Blob,然後構建圖像url。Blob構造函數瀏覽器兼容性
簡化代碼從服務器獲取數據:
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);
};
構造:
out = new Blob([data], {type : datatype});
團塊contsructor導致的問題。在移動設備和桌面設備上的Chrome瀏覽器之外的所有瀏覽器上都能正常工作
使用的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;
桌面版Chrome給了我一個WARNNING:ArrayBuffer values are deprecated in Blob Constructor. Use ArrayBufferView instead.
的移動版Chrome給了我一個錯誤:illegal constructor
如果我改變構造函數工作在Chrome上,它在其他瀏覽器上失敗。
我張貼在這裏填充工具:http://stackoverflow.com/a/16545415/2382059 – casey 2013-05-14 14:13:05