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初心者です。アウトプット練習で書いてみました。
  • バリデーション等は考慮外。

コメント

このブログの人気の投稿

投稿時間:2021-06-20 02:06:12 RSSフィード2021-06-20 02:00 分まとめ(3871件)

投稿時間:2021-04-30 23:37:32 RSSフィード2021-04-30 23:00 分まとめ(42件)

投稿時間:2023-02-05 02:09:04 RSSフィード2023-02-05 02:00 分まとめ(9件)