私は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を除くすべてのブラウザで正常に動作します。ブロブの
用途:
// 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;
デスクトップクロームは私にをwarnning を与える:私が変更した場合はillegal constructor
:ArrayBuffer values are deprecated in Blob Constructor. Use ArrayBufferView instead.
モバイルクロームは私にエラーを与えます作業するコンストラクタChromeでは他のブラウザでは失敗します。
私はこっちポリフィルを掲載:http://stackoverflow.com/a/16545415/2382059 – casey