Skip to content

Instantly share code, notes, and snippets.

@iwazer
Created January 6, 2012 09:24
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iwazer/1569843 to your computer and use it in GitHub Desktop.
Save iwazer/1569843 to your computer and use it in GitHub Desktop.
RMagickでImageを読み込む、サムネイル画像を生成しそのままS3に格納、時間制限URLを取得。
require 'rmagick'
require 'aws/s3'
AWS::S3::Base.establish_connection!(:access_key_id=>'<YOUR_ID>', :secret_access_key=>'<YOUR_SECRET>')
AWS::S3::DEFAULT_HOST.replace 's3-ap-northeast-1.amazonaws.com' # if use Tokyo Region
img = Magick::ImageList.new('path/to/file.jpg')
AWS::S3::S3Object.store('filename_thumb_m.jpg', img.thumbnail(640,480).to_blob {self.quality=92}, '<bucket-name>')
AWS::S3::S3Object.store('filename_thumb_s.jpg', img.thumbnail(160,120).to_blob {self.quality=92}, '<bucket-name>')
# 1時間したらアクセス出来ないURLをゲット
puts AWS::S3::S3Object.url_for('filename_thumb_m.jpg', '<bucket-name>', :expires_in=>3600)
puts AWS::S3::S3Object.url_for('filename_thumb_s.jpg', '<bucket-name>', :expires_in=>3600)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment