まえちゃんろぐ

日々の生活の中での気付き、学んだこと、体験したことをアウトプットするブログ(雑記多めです)| プログラミング 本 ワークアウト 茶道

Ruby on Rails5 から「aws-sdk-s3」を使って画像をアップロードする

time 2018/06/23

Ruby on Rails5 から「aws-sdk-s3」を使って画像をアップロードする

Ruby on Rails5でプラグイン「aws-sdk-s3」を使う際の覚え書き。

sponsored link

開発環境

  • Ruby: 2.4.1p111
  • Rails: 5.1.2
  • aws-sdk-s3: 1.0.0.rc2

実装

aws-sdk-s3 のインストール

まずは「aws-sdk-s3」のインストールを行います。

Gemfileに以下を追記。

追記後にbundle install --path vendor/bundleを実行します。

アップローダーとコントローラーの作成

次に画像をアップロードするアップローダーとそれをコントロールするコントローラーを作成します。

※ ビューとルートの設定は割愛させていただきます。

まずはアップローダーです。

イニシャライザでバケットに置くファイルの設定とS3用のインスタンスを初期化しています。

画像を実際にアップロードしている部分はupload_imageメソッドで行なっています。エラーハンドリングは今回はとりあえずbegin ~ rescueで対応しています。

そしてコントローラー部分。

ビューからの画像データはparams内に入ることを想定。それをアップローダーの初期化に使用し、画像アップロード用のメソッドを叩いています。

画像をアップロードした場合のPOST値は以下のようになります。

おわり

AWSって便利だよね。

参考記事

販売中チケット

プログラミング、Webサービスの作り方教えます

自分のスキルを販売しております。お困りの方はご遠慮なくご連絡頂ければと思います。

コメント

down

コメントする




スポンサードリンク

書いてる人

maechan

maechan

ベンチャー企業、フリーランス、スタートアップを経験。開発業務、人事業務に従事していました。現在は農業系スタートアップ企業でエンジニアとして働いています。リモートワークをしているノマドサラリーマンです。詳しいプロフィールはこちら。 [詳細]

販売中チケット

プログラミング、Webサービスの作り方教えます 一人で悩まず!お気軽にご相談ください!

その他のチケットはこちら

Instagram