Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to use Rails and Paperclip to store photos on Google Cloud Storage?

Until now, I have been using Amazon S3 for storing users' files.

All what has been needed to do here was:

  1. specify Amazon S3 credentials to the bucket
  2. add 'aws-sdk' gem to the Gemfile
  3. and in the model:

  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"

To set the Amazon S3 adapter. That was all.

But how to set up Google cloud engine? So far I found only the fog gem , which I could use.

However, how should I configure the model to automatically store all uploaded files on Google servers?

like image 295
user984621 Avatar asked Jul 31 '14 12:07

user984621


1 Answers

Ok, so I made it work this way:

Gemfile:

gem 'fog'

config/gce.yml:

development:
  provider: Google
  google_storage_access_key_id: XXX
  google_storage_secret_access_key: XXX

model:

  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"
like image 199
user984621 Avatar answered Sep 17 '22 11:09

user984621