配置Carrierwave与Amazon S3,托管在Heroku [英] Configuration for Carrierwave with Amazon S3, hosted on Heroku
问题描述
我已经按照从Carrierwave的部署说明与如何部署在Heroku上使用Amazon S3的一个Rails应用程序:
<一个href="https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku">https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku
我已经添加了额外的行config.ru和创建的配置/初始化/ carrierwave.rb文件,但没有成功。
下面是carrierwave初始化,有删节键。
这是正确的设置?
还有什么我需要做什么?
任何一步一步的指导,以帮助我实现这个?
CarrierWave.configure办|配置|
config.fog_credentials = {
:供应商=&GT; AWS,要求#
:aws_access_key_id =&GT;绝密,要求#
:aws_secret_access_key =&GT;绝密,要求#
:地区=&GT; 欧盟 - 西-1',#可选,默认为美国 - 东 - 1'
:主机=&GT; s3.example.com',#可选,默认为无
:端点=&GT; https://s3.example.com:8080#可选,默认为无
}
config.fog_directory ='myawsbucket'#所需
config.fog_public = FALSE#可选,默认为true
config.fog_attributes = {'的Cache-Control'=&GT;最大年龄= 315576000'}#可选,默认为{}
结束
你生成上传文件?
轨生成上传头像
这会产生这样的文件: 应用程序/上传者/ avatar_uploader.rb 类AvatarUploader&LT; CarrierWave ::上传::基地 存储:文件 结束
更多信息<一个href="https://github.com/carrierwaveuploader/carrierwave">https://github.com/carrierwaveuploader/carrierwave在入门。
这是我的文件 配置/初始化/ carrierwave.rb
CarrierWave.configure办|配置|
config.fog_credentials = {
:供应商=&GT; AWS,
:aws_access_key_id =&GT; 绝密,
:aws_secret_access_key =&GT; 绝密
}
config.fog_directory =myawsbucket
结束
应用程序/上传者/ amazon_uploader.rb
类AmazonUploader&LT; CarrierWave ::上传::基地
包括CarrierWave :: MiniMagick
包括链轮::助手:: RailsHelper
包括链轮::助手:: IsolatedHelper
存储:雾
包括CarrierWave :: MIMETYPES
过程:set_content_type
高清store_dir
上传/#{model.class.to_s.underscore} / {#} mounted_as /#{model.id}
结束
版本:user_thumb做
过程:resize_to_limit =&GT; [200,200]
结束
高清extension_white_list
%W(JPG JPEG GIF PNG)
结束
结束
我也建议你这个railcasts:
<一个href="http://railscasts.com/episodes/253-carrierwave-file-uploads">http://railscasts.com/episodes/253-carrierwave-file-uploads
<一个href="http://railscasts.com/episodes/383-uploading-to-amazon-s3">http://railscasts.com/episodes/383-uploading-to-amazon-s3
I've followed the deployment instructions from Carrierwave with how to deploy on Heroku for a Rails app using Amazon S3:
https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku
I've added the extra line to config.ru and created the config/initializers/carrierwave.rb file, but no success.
Below is the carrierwave initializer, with keys redacted.
Is this correctly setup?
What else do I need to do?
Any step-by-step guides to help me implement this?
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS', # required
:aws_access_key_id => REDACTED, # required
:aws_secret_access_key => REDACTED, # required
:region => 'eu-west-1', # optional, defaults to 'us-east-1'
:host => 's3.example.com', # optional, defaults to nil
:endpoint => 'https://s3.example.com:8080' # optional, defaults to nil
}
config.fog_directory = 'myawsbucket' # required
config.fog_public = false # optional, defaults to true
config.fog_attributes = {'Cache-Control'=>'max-age=315576000'} # optional, defaults to {}
end
Did you generate the uploader file?
rails generate uploader Avatar
This will generate a file like this: app/uploaders/avatar_uploader.rb class AvatarUploader < CarrierWave::Uploader::Base storage :file end
More info https://github.com/carrierwaveuploader/carrierwave in the Getting started.
This are my files config/initializers/carrierwave.rb
CarrierWave.configure do |config|
config.fog_credentials = {
:provider => 'AWS',
:aws_access_key_id => 'REDACTED',
:aws_secret_access_key => 'REDACTED'
}
config.fog_directory = "myawsbucket"
end
app/uploaders/amazon_uploader.rb
class AmazonUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
include Sprockets::Helpers::RailsHelper
include Sprockets::Helpers::IsolatedHelper
storage :fog
include CarrierWave::MimeTypes
process :set_content_type
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
version :user_thumb do
process :resize_to_limit => [200, 200]
end
def extension_white_list
%w(jpg jpeg gif png)
end
end
I also recommend you this railcasts:
http://railscasts.com/episodes/253-carrierwave-file-uploads
http://railscasts.com/episodes/383-uploading-to-amazon-s3
这篇关于配置Carrierwave与Amazon S3,托管在Heroku的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!