बैकग्राउंड: कोनालर फ्रंट सिरे पर कार्य करना एक बैकएंड से बेस 64 एन्कोडेड दस्तावेज़ को पुनर्प्राप्त करना एटोब मुझे एक त्रुटि दे रही है, लेकिन सब कुछ काम करता है।
संदेह: मुझे लगता है कि मेरे atob फिल्टर को दो बार कहा जाता है
फ़िल्टर कोड :
angular.module (वेक्टर) फ़िल्टर कोड 'डॉकफिल्टर', [])। फ़िल्टर ('base64Decode', फ़ंक्शन) (वापसी कार्य (सिफर टेक्स्ट) {वापसी एटोब (साइफर टेक्स्ट);};});
नियंत्रक कोड :
कोणीय। मॉड्यूल ('डॉक्टर')। नियंत्रक ('DocCtrl', ['$ scope ',' डॉक्टर सेवा ', फ़ंक्शन ($ दायरा, डॉकसेवा) {$ scope.doc = DocService.getCurrentDoc ();}]);
getCurrentDoc () एक REST अनुरोध है यह एक आंतरिक वेब सेवा का अनुरोध प्राप्त करता है
HTML :
& lt; span ng-bind-html = "doc.content | base64Decode" & gt; & lt; / span & gt;
यह कंसोल की जांच किए बिना 'ठीक' - यह काम आपको कभी नहीं पता होगा। कंसोल से पता चलता है:
"त्रुटि: 'विंडो' पर 'एटोब' निष्पादित करने में विफल: स्ट्रिंग डीकोड करने योग्य नहीं है।"
यह मेरे लिए नया है, इसलिए मुझे यकीन नहीं है कि कोई बेहतर तरीका है।
एटीओबी (अपरिभाषित); // त्रुटि को फेंकता है
आपको फिल्टर को संशोधित करने की आवश्यकता है
angular.module ('docFilters', [])। फ़िल्टर ('base64Decode', फ़ंक्शन () {रिटर्न फ़ंक्शन (टेक्स्ट) {रिटर्न टेक्स्ट & amp; एटोब (टेक्स्ट);};});
No comments:
Post a Comment