Відступ до локальних зображень, коли хмарні файли ламаються?


12

Я використовую модуль Cloud Files, який використовує PHP API Rackspace Cloud Files для зберігання всіх завантажених файлів у файлах Cloud Rackspace (CDN). Це все працює дуже добре.

Однак сьогодні у самому Rackspace відбувся перебої, пов'язані з їх API, і це призвело до того, що весь мій сайт зламався. Я абсолютно не можу так статися, коли мій сайт нарешті живий. Чи є спосіб зберегти файли як локально, так і в хмарних файлах, щоб у разі виникнення проблеми я міг перевернути налаштування на сторінках адміністратора, і він почне використовувати локальні файли, щоб сайт продовжував працювати, поки Rackspace працює на проблема?


Мені цікаво, що ви вирішили використовувати хмарні файли (специфічні для Rackspace), а не модуль CDN . Чи не підтримується модуль CDN? Я не фахівець на CDN.
Duncanmoo

1
Я використовував модуль Cloud Cloud Files, оскільки він обробляє фактично передачу файлів у Rackspace, тоді як модуль CDN цього не робить. CDN вимагає зовнішньої програми під назвою File Conveyor для здійснення передач. У мене не було кінця проблем з тим, щоб File Conveyor працювати з Cloud Files, не порушуючи свій сайт, тому я пішов з більш простим рішенням.
Kenny Wyland

2
Можливо, є гарною ідеєю запитати це як запит на функцію на сторінці випуску модуля. Теоретично, якщо у хмари Rackspace є проблеми, що обслуговують файл, слід повернути відповідь "404". Тоді, якщо це станеться, модуль повинен повернутися до локальної файлової системи. Я думаю, що це може зробити розробник модуля.
ANDiTKO

Модуль CDN підтримує БОТИ режими «Файловий конвеєр» та «Оригінальний витяг». Потяг за походженням автоматично, конвеєр файлів - ні. Хмарні файли Rackspace підтримують лише конвеєр файлів, таким чином, необхідність у певному модулі для автоматичного управління передачею файлів.
Майк

Відповіді:


6

У javascript ви можете слухати слухача події onerror зображення.

встановити джерело як нормальне. в onerror, встановіть this.src на ваш локальний шлях зображення:

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

ви можете використовувати jquery для перегляду всіх зображень на сторінці та додавання слухача подій onerror


Не зовсім те, що я шукав, але все-таки розумне рішення.
Кенні Віланд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.