【发布时间】:2009-12-07 14:29:30
【问题描述】:
我有多个共享一个数据库的应用程序(一个管理应用程序、一个“公共”/非管理应用程序和一个 Web 服务应用程序)。
我已经让应用程序在适当的情况下共享模型和其他代码,因此我没有在每个应用程序中拥有相同代码的多个副本。但是,我尚未配置的一项任务是如何在应用程序之间共享上传的文件。我正在使用Paperclip 成功将文件上传到我的应用程序,但如果它将文件上传到执行上传的应用程序。
理想情况下,我希望能够提供来自网络服务的所有文件。我的想法是,每次将新文件上传到任何应用程序时,我都需要执行某种类型的任务,以便在 Web 服务的文件结构中创建文件。
我知道如果我将文件加载到数据库中,我可以轻松地从单个应用程序中完成文件服务(这是我在类似的应用程序套件中完成此操作的方式),但我不确定这是否是最佳途径用于管理/服务文件。我的另一个想法是将文件存储在数据库中并让 Web 服务管理“服务”它们并让它在第一次请求时在磁盘上创建文件。在第一次请求文件后,Web 服务将从磁盘而不是从数据库中提供文件。
有没有人知道实现这一目标的最佳方法是什么?还是有更好的想法?
提前感谢任何人对此主题的任何反馈。
【问题讨论】:
-
尽量不要错过这里显而易见的事情,但您是否表示您没有可供所有三个应用程序访问的共享文件系统?它们是需要通过身份验证保护的文件,还是可以从静态资产主机提供?
-
除了应用程序本身可能提供的之外,不需要任何身份验证。它们可以由静态资产主机提供服务,我想这就是我真正想要实现的目标。
标签: ruby-on-rails file-upload paperclip file-sharing