जब क्लाउड फ़ाइलें टूटती हैं तो स्थानीय छवियों में गिरावट?


12

मैं क्लाउड फाइल्स मॉड्यूल का उपयोग कर रहा हूं जो रैकस्पेस क्लाउड फाइल्स (एक सीडीएन) पर सभी अपलोड की गई फ़ाइलों को संग्रहीत करने के लिए रैकस्पेस क्लाउड फाइल्स PHP एपीआई का उपयोग करता है । यह सब बहुत अच्छा काम करता है।

हालाँकि, आज, रैकस्पेस के पास अपने एपीआई से संबंधित एक आउटेज था और इसने मेरी पूरी साइट को तोड़ दिया। जब मेरी साइट आखिरकार लाइव होती है तो मैं ऐसा नहीं कर सकता। क्या स्थानीय फ़ाइलों के साथ-साथ क्लाउड फ़ाइलों में भी रखने का कोई तरीका है ताकि यदि कोई समस्या हो तो मैं व्यवस्थापक पृष्ठों में सेटिंग को फ्लिप कर सकूं और यह स्थानीय फ़ाइलों का उपयोग करना शुरू कर देगा ताकि साइट काम करना जारी रखे, जबकि रैकस्पेस काम करता है समस्या?


मुझे दिलचस्पी है कि आपने क्लाउड फाइल्स (रैकस्पेस स्पेसिफिक) का उपयोग करने के लिए चुना है न कि सीडीएन मॉड्यूल का । क्या CDN मॉड्यूल में फ़ॉलबैक नहीं है? मैं CDN पर समर्थक नहीं हूं।
डंकनमो जुएल

1
मैंने क्लाउड फ़ाइलें मॉड्यूल का उपयोग किया है क्योंकि यह वास्तव में फाइलों को रैकस्पेस पर स्थानांतरित करता है, जबकि सीडीएन मॉड्यूल नहीं करता है। CDN को ट्रांसफ़र करने के लिए File Conveyor नामक एक बाहरी एप्लिकेशन की आवश्यकता होती है। मुझे अपनी साइट को तोड़े बिना क्लाउड फ़ाइलों के साथ काम करने के लिए फ़ाइल कन्वेयर प्राप्त करने में कोई समस्या नहीं है, इसलिए मैं आसान समाधान के साथ गया।
केनी वायलैंड

2
हो सकता है कि इसका एक अच्छा विचारक यह मॉड्यूल के मुद्दे पृष्ठ पर एक सुविधा अनुरोध के रूप में पूछ सकता है। सैद्धांतिक रूप से यदि रैकस्पेस क्लाउड में फ़ाइल परोसने वाले मुद्दे हैं, तो उसे "404" प्रतिसाद वापस करना चाहिए। यदि ऐसा होता है तो मॉड्यूल को स्थानीय फ़ाइल सिस्टम में वापस आना चाहिए। मुझे लगता है कि यह मॉड्यूल डेवलपर द्वारा किया जा सकता है।
आईआईटीकेओ

सीडीएन मॉड्यूल बीओटीएच "फ़ाइल कन्वेयर" और "ओरिजिनल पुल" मोड का समर्थन करता है। ओरिजिनल पुल स्वचालित है, फ़ाइल कन्वेयर नहीं है। रैकस्पेस क्लाउड फ़ाइलें केवल फ़ाइल कन्वेयर का समर्थन करती हैं, इस प्रकार फ़ाइलों के हस्तांतरण को स्वचालित रूप से संभालने के लिए एक विशिष्ट मॉड्यूल की आवश्यकता होती है।
माइक

जवाबों:


6

जावास्क्रिप्ट में, आप छवि के ऑनरोर ईवेंट श्रोता को सुन सकते हैं।

स्रोत को सामान्य रूप में सेट करें। onerror में, यह सेट करें। अपने स्थानीय छवि पथ पर जाएं:

<img src="//somecdn.com/cat.jpg" onerror="this.src='/localpath/cat.jpg';" />

आप पृष्ठ पर सभी छवियों पर लूप करने के लिए jquery का उपयोग कर सकते हैं और onerror इवेंट श्रोता को जोड़ सकते हैं


बिल्कुल नहीं मैं क्या देख रहा था, लेकिन फिर भी एक उचित समाधान।
केनी वायलैंड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.