javascript - Retrieve binary data without using arraybuffer -


मेरे पास निम्न संसाधन हैं:

  function _arrayBufferToBase64 (बफर) {var binary = ' '; Var बाइट्स = नया यूआईटी 8 एरे (बफर); Var len = बाइट्स। ByteLength; के लिए (var i = 0; i & lt; len; i ++) {बाइनरी + = स्ट्रिंग। फ्रैमकारकोड (बाइट्स [i]); } वापसी खिड़की। बीटो (बाइनरी); } Var एपीआई = $ संसाधन (सर्वर + 'एल्बम', {}, {get: {url: server + 'album /: albumId / photo /: photoId', विधि: 'GET', प्रतिक्रियाप्रकार: 'सरणीबफ़र', हेडर: {'AuthToken': 'गुप्त', 'स्वीकार': 'छवि / *'}, इंटरसेप्टर: {प्रतिक्रिया: फ़ंक्शन (resp) {वापसी 'डेटा:' resp.headers ('सामग्री-प्रकार') + '; Base64, '+ _arrayBufferToBase64 (resp.data)}}}}}});   

यह क्या करता है कि सर्वर से फाइल की द्विआधारी सामग्री प्राप्त होनी है और बेस 64 डेटा के साथ एक डाटा uri लौटाएगा।

मुझे यह कहना है कि यह कॉल यूआरएल के लिए एक साधारण एसआरओ टैग के साथ प्रतिस्थापित नहीं किया जा सकता क्योंकि कुछ प्रमाणीकरण हेडर भी भेजे गए हैं।

यह नए ब्राउज़रों में ठीक काम करता है लेकिन मैं पुराने ब्राउज़रों के साथ संगतता रखना चाहता हूं, इसलिए सरणीबफर एक समस्या है यहाँ, मेरा प्रश्न यह है कि क्या इन सभी को बिना किसी अरैबफर के करने का एक तरीका है?

मैंने प्रतिक्रिया प्रकार को निकालने का प्रयास किया और स्ट्रिप को resp.data में परिवर्तित किया गया जो कि वर्णित है लेकिन कोई सफलता नहीं है।

एक नज़र डालें मैंने उन्हें परीक्षण नहीं किया है, लेकिन बाइट्स और बेस 64 यूआरआई के बीच कनवर्ट करने के लिए कई एल्गोरिदम हैं। विशेष रूप से base64EncArray फ़ंक्शन ऐसा लगता है कि आप क्या चाहते हैं।

Comments

Popular posts from this blog

sonata admin - how to add ManyToOne property field in configureListfield in sonataAdmin -

sql - Return Function using Cursor -

sql server - How to use pivot in this table -