将带回形针的mp3上传到S3后,继续发现管道损坏。我做错了什么?
模型
has_attached_file :mp3,
:storage => :s3,
:path => 'mp3/:class/:id/:style.:extension',
:s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
:bucket => 'cobras-production',
:url => ':s3_domain_url'
控制器
def create
@track = Track.new(params[:track])
if @track.save
redirect_to(@track, :notice => 'Track was successfully created.')
else
render :action => "new"
end
end
答案 0 :(得分:2)
我认为非美国水桶位置可能存在问题。
我有2个应用程序设置在heroku上运行,并且遇到了你提到的问题。当我将我的水桶位置更改为美国时,回形针lib与完全相同的文件完美配合。
如果您使用新加坡或东京作为您的桶位置。
https://github.com/marcel/aws-s3/issues/#issue/4
这更好地解释了问题
答案 1 :(得分:1)
值得指出的是,桶不是按需自动创建的 - 您必须自己创建它们。如果你正在使用aws-s3 gem,那么命令就是
AWS::S3::Bucket.create("cobras-production")
答案 2 :(得分:1)
在我的情况下,这是因为我选择了一个新的(截至目前)AWS区域'Oregon' 当我为我的桶换回美国标准时,我没有遇到任何问题。
答案 3 :(得分:0)
对于未来的googlers:我遇到了同样的问题,原因是我的电脑上的时间错误,包含在请求中。亚马逊的服务器比较了我的时间和他们的时间,这导致了错误。