क्या वेब उपयोगकर्ताओं को इंटरमीडिएरी के रूप में किसी अन्य सर्वर का उपयोग किये बिना सीधे एज़ूर ब्लॉब स्टोर में फ़ाइलों को अपलोड करने की अनुमति देने के लिए एक HTML फॉर्म बनाना संभव है? एस 3 और जीएडब्लू ब्लॉबस्टोर दोनों इसे अनुमति देते हैं लेकिन मुझे एज़ूर ब्लॉब स्टोरेज के लिए कोई समर्थन नहीं मिल रहा है।ब्राउज़र से सीधे Azure Blob संग्रहण में फ़ाइल अपलोड करें?
उत्तर
आप एचटीएमएल 5 फाइल एपीआई, एजेक्स और एमवीसी 3 का उपयोग एक मजबूत फ़ाइल अपलोड नियंत्रण बनाने के लिए कर सकते हैं ताकि बड़ी फाइलें सुरक्षित रूप से और विश्वसनीय रूप से विंडोज़ एज़ूर ब्लोब स्टोरेज को निगरानी ऑपरेशन प्रगति और ऑपरेशन रद्दीकरण के प्रावधान के साथ विश्वसनीय रूप से अपलोड कर सकें। समाधान नीचे जैसा काम करता है:
- क्लाइंट-साइड जावास्क्रिप्ट जो उपयोगकर्ता द्वारा अपलोड की गई फ़ाइल को स्वीकार और संसाधित करता है।
- सर्वर-साइड कोड जो जावास्क्रिप्ट द्वारा भेजे गए फ़ाइल खंडों को संसाधित करता है।
- क्लाइंट-साइड यूआई जो जावास्क्रिप्ट को आमंत्रित करता है।
यहाँ नमूना कोड प्राप्त करें: Reliable Uploads to Windows Azure Blob Storage via an HTML5 Control
भंडारण बूँद को ब्राउज़र से सीधे फ़ाइलों को अपलोड करने के लिए इन ब्लॉग पोस्ट पर एक नज़र डालें कार्य करें:
http://coderead.wordpress.com/2012/11/21/uploading-files-directly-to-blob-storage-from-the-browser/
दूसरी पोस्ट (मेरे द्वारा लिखी गई) एचटीएमएल 5 फाइल एपीआई का उपयोग करती है और इस प्रकार सभी ब्राउज़रों में काम नहीं करेगी।
मूल विचार एक ब्लॉब कंटेनर के लिए Shared Access Signature (SAS)
बनाना है। एसएएस में Write
अनुमति होनी चाहिए। चूंकि विंडोज़ एज़ूर ब्लॉब स्टोरेज CORS का समर्थन नहीं करता है (जो कि अमेज़ॅन एस 3 और Google दोनों द्वारा समर्थित है), आपको ब्लॉब स्टोरेज में एचटीएमएल पेज होस्ट करना होगा जहां आप अपने उपयोगकर्ताओं को फाइल अपलोड करना चाहते हैं। फिर आप jQuery की अजाक्स कार्यक्षमता का उपयोग कर सकते हैं।
अद्यतन: अब Azure [सीओआरएस का समर्थन करता है] (http://msdn.microsoft.com/en-us/library/windowsazure/dn535601.aspx)। –
बीटीडब्ल्यू, आप अपने ब्लॉग पोस्ट को अपडेट करना चाहेंगे ... यदि आप अनुरोध के सामग्री-लंबाई शीर्षलेख मैन्युअल रूप से सेट करने का प्रयास करते हैं तो ब्राउज़र त्रुटियों को फेंक देगा। – RonLugge
और जिस तरह से कई अन्य मुद्दों को हल किया गया (सीओआरएस को दर्दनाक बनाना सक्षम था!), मैंने पाया है कि स्पष्ट रूप से आपको अपने नमूने में मौजूद प्राधिकरण शीर्षलेख की आवश्यकता नहीं है। – RonLugge
मैं ऐसा करने के तरीके पर एक उदाहरण के साथ एक blog पोस्ट में लिखा है, code is at GitHub
यह Gaurav Mantris post पर आधारित है और ब्लॉब संग्रहण पर ही जावास्क्रिप्ट होस्टिंग द्वारा काम करता है।
अब विंडोज़ एज़ूर स्टोरेज सेवाएं कॉरस का समर्थन करती हैं, आप यह कर सकते हैं। आप यहां घोषणा देख सकते हैं: Windows Azure Storage Release - Introducing CORS, JSON, Minute Metrics, and More। http://www.contentmaster.com/azure/windows-azure-storage-cors/
उदाहरण को अपलोड करने और एक निजी ब्लॉब jQuery.ajax का उपयोग करने से सीधे डाउनलोड करने के लिए कैसे पता चलता है:
मैं एक साधारण उदाहरण है कि यहां इस परिदृश्य को दिखाता है। इस उदाहरण को अभी भी साझा एक्सेस हस्ताक्षर उत्पन्न करने के लिए एक सर्वर घटक की आवश्यकता है: यह क्लाइंट कोड में स्टोरेज खाता कुंजी का पर्दाफाश करने की आवश्यकता से बचाता है।
New Azure Storage JavaScript client library for browsers (Preview) है।
(इस पोस्ट से सब कुछ ऊपर मूल लेख से आता है)
- Azure संग्रहण के लिए जावास्क्रिप्ट क्लाइंट लाइब्रेरी, कई वेब विकास ब्लॉब, टेबल, कतार, और फ़ाइल की तरह भंडारण सेवाओं का उपयोग परिदृश्यों में सक्षम बनाता है और आधुनिक ब्राउज़रों के साथ संगत है
- ब्राउज़र के लिए नई जावास्क्रिप्ट क्लाइंट लाइब्रेरी नवीनतम आरईएसटी एपीआई संस्करण 2016-05-31 में उपलब्ध सभी स्टोरेज सुविधाओं का समर्थन करती है क्योंकि यह नोड.जेएस के लिए एज़ूर स्टोरेज क्लाइंट लाइब्रेरी का उपयोग करके ब्राउज़रिफ़ के साथ बनाया गया है।
हम एज़ूर स्टोरेज के साथ प्रमाणित करने के लिए SAS tokens का उपयोग करने की अत्यधिक अनुशंसा करते हैं क्योंकि जावास्क्रिप्ट क्लाइंट लाइब्रेरी ब्राउज़र में उपयोगकर्ता को प्रमाणीकरण टोकन का पर्दाफाश करेगी। सीमित दायरे और समय के साथ एक एसएएस टोकन की अत्यधिक अनुशंसा की जाती है। एक आदर्श वेब एप्लिकेशन में यह अपेक्षा की जाती है कि बैकएंड एप्लिकेशन लॉग ऑन करते समय उपयोगकर्ताओं को प्रमाणित करेगा, और फिर क्लाइंट को संग्रहण खाते तक पहुंच अधिकृत करने के लिए क्लाइंट को एसएएस टोकन प्रदान करेगा। यह खाता कुंजी का उपयोग करके प्रमाणित करने की आवश्यकता को हटा देता है। हमारे जीथब भंडार में Azure Function sample देखें जो HTTP पोस्ट अनुरोध पर एसएएस टोकन उत्पन्न करता है।
कोड का नमूना:
आपके HTML कोड में निम्न स्क्रिप्ट टैग डालें। सुनिश्चित करें कि एक ही फ़ोल्डर में स्थित जावास्क्रिप्ट फ़ाइलें।
<script src="azure-storage.common.js"></script/> <script src="azure-storage.blob.js"></script/>
चलिए अब स्थानांतरण शुरू करने के लिए पृष्ठ पर कुछ आइटम जोड़ते हैं। बॉडी टैग के अंदर निम्न टैग जोड़ें। ध्यान दें कि बटन क्लिक होने पर uploadBlobFromText विधि को कॉल करता है। हम इस विधि को अगले चरण में परिभाषित करेंगे।
<input type="text" id="text" name="text" value="Hello World!" /> <button id="upload-button" onclick="uploadBlobFromText()">Upload</button>
अब तक, हम क्लाइंट लाइब्रेरी शामिल है और उपयोगकर्ता एक पाठ इनपुट और हस्तांतरण आरंभ करने के लिए एक बटन को दिखाने के लिए एचटीएमएल कोड जोड़ लिया है। जब उपयोगकर्ता अपलोड बटन पर क्लिक करता है, तो अपलोडब्लॉब्रोमटेक्स्ट को कॉल किया जाएगा। चलो अब कि परिभाषित करते हैं:
<script> function uploadBlobFromText() { // your account and SAS information var sasKey ="...."; var blobUri = "http://<accountname>.blob.core.windows.net"; var blobService = AzureStorage.createBlobServiceWithSas(blobUri, sasKey).withFilter(new AzureStorage.ExponentialRetryPolicyFilter()); var text = document.getElementById('text'); var btn = document.getElementById("upload-button"); blobService.createBlockBlobFromText('mycontainer', 'myblob', text.value, function(error, result, response){ if (error) { alert('Upload filed, open browser console for more detailed info.'); console.log(error); } else { alert('Upload successfully!'); } }); } </script>
- 1. Azure Blob संग्रहण से फ़ाइल डाउनलोड करें
- 2. Azure Blob संग्रहण
- 3. बैकअप Azure Blob संग्रहण सामग्री
- 4. Azure Blob संग्रहण की ट्रांज़ेक्शनल एक्सेस
- 5. Azure Blob
- 6. मैं एक अस्थायी फ़ाइल का उपयोग किये बिना Azure Blob संग्रहण में .NET ऑब्जेक्ट को क्रमबद्ध कैसे करूं?
- 7. क्या मैं Azure Blob संग्रहण में एक फ़ाइल को अनजिप कर सकता हूं?
- 8. एसएसआईएस में Azure Blob गंतव्य
- 9. ब्राउज़र से फ़ाइल (अनुलग्नक) कैसे अपलोड करें?
- 10. प्रदर्शन Azure Blob बनाम Azure Table
- 11. Azure - BLOB स्टोरेज में मौजूदा xml फ़ाइल को अपडेट करना
- 12. Azure टेबल संग्रहण:
- 13. Azure Blob CacheControl लागू नहीं है
- 14. Azure ब्लोब स्टोरेज अपलोड विफल
- 15. Azure Table संग्रहण समाप्ति
- 16. Azure संग्रहण परिकलित MD5 मौजूदा प्रॉपर्टी से मेल नहीं खाता
- 17. ब्राउज़र से यूट्यूब में वीडियो अपलोड करना
- 18. Azure संग्रहण: आकार शून्य बाइट्स के साथ अपलोड की गई फ़ाइलें
- 19. Azure संग्रहण तालिका का आकार
- 20. Azure तालिका संग्रहण में सभी पंक्तियों को कॉपी करें
- 21. ब्राउज़र से सीधे एक जावास्क्रिप्ट फ़ाइल निष्पादित करना
- 22. jQuery फ़ाइल अपलोड करेंयूआई फ़ाइल अपलोड करें
- 23. सीधे मेरे ब्राउज़र में एक पीडीएफ फ़ाइल खोलना
- 24. एक छवि अपलोड करें और सीधे CKEditor
- 25. आंतरिक संग्रहण से फ़ाइल हटाएं
- 26. parallelize Azure तर्क अनुप्रयोग फांसी जब ब्लॉब संग्रहण
- 27. VS2012 सर्वर एक्सप्लोरर - विंडोज Azure संग्रहण
- 28. Azure साथ एफई मिश्रण एसक्यूएल सर्वर और Windows Azure संग्रहण
- 29. Yii2 फ़ाइल को ओरेकल BLOB
- 30. डीजेगो, हेरोकू, बोटो: Google क्लाउड स्टोरेज पर सीधे फ़ाइल अपलोड
यह लेख, एक मध्यस्थ के रूप वेब सर्वर का उपयोग करता है एक कस्टम जावास्क्रिप्ट बेडौल विधि का उपयोग करने के लिए Azure हिस्सा पहुंचाता है। यह शायद चालाक है लेकिन सवाल के लिए उपयुक्त नहीं है। –