準備
1.S3にbacket作成
2.cloudfrontに新規distributionを作成し、originを1で作成したbacketにする
コントローラで必要な情報を指定(各パラメータはs3.ymlに設定した)
AWS.config( :access_key_id => S3_CONFIG['access_key_id'], :secret_access_key => S3_CONFIG['secret_access_key'])
対象のアクションに下記コードを書く
s3 = AWS::S3.new bucket = s3.buckets[S3_CONFIG['bucket']] file_name = file.original_filename file_full_path="users/images/#{@user.id}/#{file_name}" object = bucket.objects[file_full_path] object.write(file, :acl => :public_read)
下記のようなURLでアップロードされる
???.cloudfront.net/users/images/???/???
参考URL
http://joppot.info/2014/06/13/1583
http://akasata.com/articles/292
http://www.aguuu.com/archives/2012/12/paperclip/
http://rock-and-hack.blogspot.jp/2013/02/railsassetss3cloudfront.html