rails S3へファイルアップロード・ダウンロード

rails S3へファイルアップロード・ダウンロード:


前提

  • AWSの認証設定済。


詳細


gemインストール

Gemfile

gem 'aws-sdk 


操作


 ファイルアップロード

  • parms[:file]でファイル受け取り
def upload 
   region = 'XXXX' 
    bucket = "#{bucket_name}" # S3バケット名 
    key = "#{key}" #S3のファイル名 
    client = Aws::S3::Client.new(region: region) 
 
    upload_file = params[:file] 
 
    client.put_object(bucket: bucket, key: key, body: upload_file.read)  
   end 


ファイルダウンロード

def download 
   region = 'XXX' 
    bucket = "#{bucket_name}" # S3バケット名 
    key = "#{key}" #S3のファイル名 
 
    client = Aws::S3::Client.new(region: region) 
    data = client.get_object(:bucket => bucket, :key => key).body 
    file_name = "#{file_name}" #ダウンロード時ファイル名 
    type = 'xxx' # ファイルの型 csvの場合 'text/csv' 
 
    send_data data.read, filename: file_name, disposition: 'attachment',  type: type 
  end 


備考

  • rails初心者です。アウトプット練習で書いてみました。
  • バリデーション等は考慮外。

コメント

このブログの人気の投稿

投稿時間:2020-07-01 05:34:30 RSSフィード2020-07-01 05:00 分まとめ(37件)

投稿時間:2020-07-01 20:43:40 RSSフィード2020-07-01 20:00 分まとめ(81件)

投稿時間:2020-07-01 08:33:22 RSSフィード2020-07-01 08:00 分まとめ(49件)