我一直在关注 Ryan Bates 关于将文件上传到 S3 的出色 Rails Cast(第 383 集)。一切正常 - 但是......
我想使用图像的 HTTP URL 而不是 HTTPS。
尝试查看 Carrierwave 文档,但找不到这是否是一个选项。试图查看这是否是 S3 设置,但默认情况下它似乎支持 HTTP 和 HTTPS。
任何帮助,将不胜感激。
谢谢你。
我一直在关注 Ryan Bates 关于将文件上传到 S3 的出色 Rails Cast(第 383 集)。一切正常 - 但是......
我想使用图像的 HTTP URL 而不是 HTTPS。
尝试查看 Carrierwave 文档,但找不到这是否是一个选项。试图查看这是否是 S3 设置,但默认情况下它似乎支持 HTTP 和 HTTPS。
任何帮助,将不胜感激。
谢谢你。
您可以通过设置asset_host
配置参数来做到这一点:
CarrierWave.configure do |config|
...
config.fog_directory = 'yourbucket'
# Forcing use of HTTP
config.asset_host = "http://#{config.fog_directory}.s3.amazonaws.com"
...
end
如果您的存储桶位于美国标准以外的区域,您可能还需要将该部分添加到主机中。
CarrierWave 0.9.0添加了一个配置参数fog_use_ssl_for_aws
来禁用 public_url 的 SSL。
CarrierWave.configure do |config|
...
config.fog_use_ssl_for_aws = false
...
end
不确定这是否是您要查找的内容,但如果您希望允许用户从您的 S3 存储桶下载文件,则需要为每个人创建列出和下载文件的权限。
这可以在“权限”选项卡下的 S3 存储桶配置面板中完成。默认情况下,S3 文件将是私有的,因此您需要经过身份验证的 url 才能访问它们。