2012-01-13 19 views
5

से बाइनरी डेटा (कॉच डीबी संलग्नक) प्राप्त करें और मुझे ब्राउज़र जावास्क्रिप्ट CouchApp से CouchDB (संलग्नक के रूप में) बाइनरी ब्लॉब्स को डाउनलोड, संपादित और अपलोड करने की आवश्यकता है।http प्राप्त करें और जावास्क्रिप्ट

मेरे गूगल फू मुझे और भी दूर से इस के समान कुछ भी खोजने के लिए विफल रहता है:/

वर्तमान समाधान Silverlight का उपयोग शामिल है, और मैं आधुनिक ब्राउज़रों (सफारी, मोबाइल सफारी (आईओएस) पर सादे js जाना चाहते हैं, आईई 9, ओपेरा 11 आदि)

क्रोम (Post binary data cross domain in javascript) में डेटा अपलोड करने का एक समाधान है, लेकिन मैं उस विशेष ब्राउज़र से चिपकना नहीं चाहता हूं।

उत्तर

4

बाइनरी डेटा से निपटने के लिए जावास्क्रिप्ट थोड़ा असुविधाजनक है, लेकिन यह अभी भी संभव होना चाहिए।

ऐसा करने का सबसे आसान तरीका संलग्नक के कोच डीबी के बेस 64 संस्करण का उपयोग करना है। आप get attachments inline in a document कर सकते हैं, और फिर उन्हें inline attachments के रूप में वापस स्टोर करें।

आप किसी भी जावास्क्रिप्ट बेस 64 लाइब्रेरी का उपयोग ब्राउज़र में डीकोड करने के लिए कर सकते हैं। कॉच डीबी में अपने फ़्यूटन एप्लिकेशन के हिस्से के रूप में एक शामिल है। आप इसे /_utils/script/base64.js से पुनर्प्राप्त कर सकते हैं।

+0

धन्यवाद! याद किया कि। खैर, बड़े अनुलग्नकों के साथ काम करना कम से कम अजीब होगा, लेकिन नंगे-न्यूनतम परिदृश्य (किसी अन्य CouchApp से CouchApp के कोड को संपादित करना) ठीक लगता है। – wizzard0

+0

ठीक है, अपलोड ठीक काम करता है, लेकिन डाउनलोड हमेशा मल्टीपार्ट डेटा में परिणाम देता है भले ही मैं स्वीकार नहीं करता हूं: हेडर :( – wizzard0

+0

ठीक है, जेएसओएनपी को सक्षम करने से अभी भी चाल नहीं चलती है। लेकिन, मुझे लगता है कि एक कॉच डीबी बग, तो आपका जवाब मान्य रहता है। – wizzard0