我正在试验PaperClip并且喜欢它,它看起来是我们项目的一个很好的解决方案。但是,除了公共文件夹之外,我们还希望将上传的文件存储在服务器(ubuntu)上的其他位置,并且S3不是一个选项。所以有2个问题:
1)除了应用程序根目录之外,如何设置将上传存储到ubunto中另一个目录的路径和URL,或者 2)如何将上传的文件也存储在另一台LAN服务器上。
提前感谢所有回复的人。经过详尽的搜索后,我很惊讶只能看到开发人员只使用rails_root或S3在PaperClip中存储的Google搜索结果。此外,如果有人建议更好的文件上传解决方案,以满足我们的需求,请务必提供相关建议。再次感谢!
答案 0 :(得分:5)
您只需将:path
选项传递给has_attached_file
到您想要的任何路径即可。文档在此处讨论:http://rdoc.info/gems/paperclip#Storage
如果您在Web服务器上mount
某个共享LAN存储,那么您可以将它们存储在那里。您确实需要一个可供所有应用服务器使用的共享文件系统位置,因此S3是一种常见且易于设置的解决方案。