Carrierwave在本地不存储s3上的图像

sri*_*nkl 1 ruby-on-rails heroku amazon-s3 carrierwave ruby-on-rails-4

我使用载波上传图像并将其显示在照片库中.载波存储文件在public/uploads.但是这些图像没有在heroku上显示.我发现heroku是只读的,我们应该在s3存储文件.

除了s3之外还有其他选择吗?如果是的话,请你在这里分享一下吗?

Ric*_*eck 6

Heroku只有read only你在bamboo堆栈(旧).因为cedar,他们使用a ephemeral writeable filesystem,这意味着虽然您可以上传,但每次部署都会被擦除

S3不是你唯一的选择; 它只是亚马逊的存储系统.你有Dropbox,Azure, RackSpace和其他一些提供类似功能的产品


你的问题应该是真的 which storage solution is right for my app?

主要问题是文件的位置 - 它们需要靠近您的应用程序,以减少延迟.最近我们遇到了S3通过Rackspace应用程序托管文件的问题- 因为S3不在RackSpace的数据中心,延迟很高

因为Heroku是在亚马逊的AWS云上构建的,这意味着从S3提供资产是提供资产的最有效和最合理的方法