我创建了一个轨道API,但我有一个图像上传的问题。 我正在使用carrierwave,图片的上传工作正常,但我得到一个错误的链接。轨道载波链接生成不同于S3存储链接
例子:
这是我在REST风格的API找到链接:
https://s3.eu-west-2.amazonaws.com/gpsql/uploads/driver/picture/35/imagename.png
但是,当我检查S3存储我发现一个不同的链接:
https://s3.eu-west-2.amazonaws.com/gpsql/gpsql/gpsql/uploads/driver/picture/35/imagename.png
这是s3 carrierwave的初始化程序:
CarrierWave.configure do |config|
config.fog_provider = 'fog/aws' # required
config.fog_credentials = {
provider: 'AWS', # required
aws_access_key_id: '...', # required
aws_secret_access_key: '...', # required
region: 'us-west-2',
path_style: true,
}
config.fog_directory = 'gpsql' # required
config.asset_host = 'https://s3.eu-west-2.amazonaws.com/gpsql'
config.fog_attributes = {'Cache-Control' => "max-age=#{365.day.to_i}"} # optional, defaults to {}
end
在图片上传:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
如何解决所显示的REST风格的API也就是为什么有那么多的“水桶名”在亚马逊链接的链接为什么不是简单的链接/ bucketname /image.png
对于我在restful api中找到的第一个链接,它根本无法使用我在第二个amazon s3中获取访问被拒绝或者找不到密钥,它没有任何问题。
具有u尝试没有'配置。 asset_host',将其删除并重新启动Rails服务器。 – 7urkm3n
是的,我尝试过。它不在那里首先它是我尝试的解决方案之一,但没有伤心地工作。 @ 7urkm3n –
您是否尝试删除'config.asset_host'并在您的雾凭证中添加主机和端点?:'host:'s3.example.com',端点:'https://regionendpointhere.amazonaws.com' ?如fog + s3的文档中所述? – catch22