LoginSignup
2

More than 5 years have passed since last update.

ActiveStorageでS3へファイルをアップロードする

Last updated at Posted at 2017-11-26

単純にS3へのファイルアップロードした際のメモ。

準備編

Rails 5.2.0.alphaを使用する。

下記ページのSetting up ActiveStorage for Railsの項目に従ってGemfileの書き換えやDBのマイグレーション、active_storageのプロジェクトへのインストールを行う。
http://blog.jasonkim.ca/blog/2017/11/13/Using-ActiveStorage-Today/

storage.yml

bin/rails active_storage:installを実行すると、config以下にstorage.yml
ファイルが生成されるのでそこに必要事項を記入する。
今回はamazon以下に自分が管理しているS3のバケット情報を記入。

amazon:
  service: S3
  access_key_id: XXXXXXXXXXXXXXXXXX
  secret_access_key: XXXXXXXXXXXXXXXXXX
  region: ap-northeast-1
  bucket: your.bucket.name

アップロード

下記の用なコードで単純なアップロードが可能。

ActiveStorage::Blob.create_after_upload!(io: StringIO.new('qwerty'), filename: 'test_file')

上記コードでファイル内容がqwertyとなるファイルをアップロードしている。
S3のバケット上でのファイル名はznzAavPtDwXdqzYoP4eAPWgyのようなstandard secure-token formatとなる。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2