मैं एक ऐसा एप्लीकेशन विकसित कर रहा हूं जहां मुझे uint8Array में संग्रहीत छवि डेटा प्राप्त होता है। फिर मैं इस डेटा को ब्लॉब में बदलता हूं और फिर छवि यूआरएल बनाता हूं।ब्लॉब कन्स्ट्रक्टर ब्राउज़र संगतता
सरलीकृत कोड सर्वर से डेटा प्राप्त करने के लिए:
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 समस्या का कारण है। यह मोबाइल और डेस्कटॉप उपकरणों पर क्रोम को छोड़कर सभी ब्राउज़रों पर ठीक काम करता है। ब्लॉब की
उपयोग:
// 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: illegal constructor
अगर मैं बदलने के लिए: ArrayBuffer values are deprecated in Blob Constructor. Use ArrayBufferView instead.
मोबाइल Chrome मुझे एक त्रुटि देता है काम करने के लिए निर्माता क्रोम पर यह अन्य ब्राउज़रों पर विफल रहता है।
मैं यहाँ पर एक polyfill पोस्ट: http://stackoverflow.com/a/16545415/2382059 – casey