云文件中断时回退到本地映像?


12

我正在使用Cloud Files模块,该模块使用Rackspace Cloud Files PHP API将所有上载的文件存储在Rackspace Cloud Files(CDN)上。一切都很好。

但是,今天,Rackspace本身的API中断了,这导致我的整个网站崩溃了。当我的网站最终启用时,我绝对不会发生这种情况。有什么办法可以将文件以及本地文件保存在本地文件中,以便在出现问题时可以翻转管理页面中的设置,它将开始使用本地文件,以便在Rackspace正常运行时该站点可以继续工作问题?


我对您选择使用Cloud Files(特定于Rackspace)而不是CDN模块感兴趣。CDN模块没有回退吗?我不是CDN上的专业人士。
Duncanmoo

1
我使用了Cloud Files模块,因为它实际上处理了将文件传输到Rackspace的过程,而CDN模块则没有。CDN需要一个名为File Conveyor的外部应用程序来进行传输。在不中断站点的情况下,让File Conveyor与Cloud Files一起使用时,我没有遇到任何问题,因此我选择了更简单的解决方案。
肯尼·怀兰德

2
最好在模块的问题页面上将此作为功能请求进行询问。从理论上讲,如果Rackspace云在提供文件时遇到问题,则应返回“ 404”响应。然后,如果发生这种情况,该模块必须回退到本地文件系统。我认为这可以由模块开发人员完成。
ANDiTKO 2012年

CDN模块同时支持“文件传送器”和“原件拉出”模式。原点拉动是自动的,文件传送器不是。Rackspace云文件仅支持文件传送器,因此需要特定的模块来自动处理文件的传输。
Mike

Answers:


6

在javascript中,您可以监听图片的onerror事件监听器。

正常设置源。在onerror中,将this.src设置为本地图像路径:

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

您可以使用jquery遍历页面上的所有图像并添加onerror事件侦听器


并不是我要找的东西,而是一个合理的解决方案。
肯尼·怀兰德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.