मैं एक ही समस्या के साथ संघर्ष कर रहा हूं। जब मैं एक ArrayBuffer के साथ Uint8Array बैकअप करता हूं, यह सफारी और क्रोम दोनों में काम करता है (अभी तक अन्य ब्राउज़रों में परीक्षण नहीं किया गया है) लेकिन क्रोम एक चेतावनी संदेश प्रिंट करता है। क्रोम का कहना है कि मुझे ब्लॉब() कन्स्ट्रक्टर को पास करने से पहले डेटाव्यू में ऐरेबफर को लपेटना होगा।
// write the bytes of the string to an ArrayBuffer
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
new Blob([ab], {type: mimeString});
संपादित
सटीक क्रोम प्रतिवाद संदेश है:
ArrayBuffer मूल्यों ब्लॉब निर्माता में पदावनत कर रहे हैं। इसके बजाय ArrayBufferView का उपयोग करें।
स्रोत
2013-01-17 23:23:31
लगता है कि उस विधि की तरह स्ट्रिंग पैरामीटर की अपेक्षा है लेकिन आप किसी ऑब्जेक्ट में पास करते हैं, इसलिए यह हैस्ट्रिंग() विधि को जेएस में, ऑब्जेक्ट्स का प्रतिनिधित्व करने के लिए आपके प्रश्न में कुछ देता है। – marekful
मुझे ऐसा नहीं लगता है। यह एक विंडोज पीसी पर ठीक काम करता है और अगर मैं एक सामान्य सरणी पास करता हूं। यह ठीक काम करता है। –