如何使用Rails和Paperclip在Google云端存储上存储照片?
到目前为止,我一直在使用Amazon S3存储用户的文件。
这里需要做的就是:
- 指定存储桶的Amazon S3凭据
- 将
'aws-sdk'
sdk’gem添加到Gemfile中 - 在模型中:
has_attached_file :avatar, :styles => { :big => "100x100#", :thumb => "25x25#" }, :storage => :s3, :s3_credentials => "#{Rails.root}/config/s3.yml", :path => ":rails_root/public/users/:id/:style/:basename.:extension", :url => "/users/:id/:style/:basename.:extension"
设置Amazon S3适配器。 这就是全部了。
但是如何设置Google云引擎呢? 到目前为止,我发现只有雾gem ,我可以使用。
但是,我应该如何配置模型以自动将所有上传的文件存储在Google服务器上?
好的,所以我这样做了:
的Gemfile:
gem 'fog'
配置/ gce.yml:
development: provider: Google google_storage_access_key_id: XXX google_storage_secret_access_key: XXX
模型:
has_attached_file :avatar, :styles => { :big => "100x100#", :thumb => "25x25#" }, :storage => :fog, :fog_credentials => "#{Rails.root}/config/gce.yml", :fog_directory => "your bucket name", :path => ":rails_root/public/users/:id/:style/:basename.:extension", :url => "/users/:id/:style/:basename.:extension"