iOS

SwiftでS3への画像アップロード

投稿日:2017年3月25日 更新日:

はじめに

こんにちは、初iOSの記事になります!

今回はSwiftでAWSのS3へ画像をアップロードする方法について、ブログを書きたいと思います。

AWS Cognitoでの認証が本来は望ましいのですが、今回は簡単にIAMユーザを作成し、ACCESS KEYとSECRET ACCESS KEYを利用した方法で紹介したいと思います。

アプリをリリースする場合は、AWS Cognitoを利用するか、IAMユーザの場合はアクセス権限を十分に絞ってください。

AWS上での事前準備

AWS上での準備については、省略しますが下記の2つを準備してください。

IAMユーザについては、作成したS3のバケットへアップロード(PutObject)できる権限を付与しておく必要があります。

  • S3にバケットを作成
  • IAMユーザの作成(上記のバケットへの「s3:PutObject」権限あり)

CocoaPodsでAWS SDKをインストールをする

Podfileに下記を記載して、インストールします。

認証の設定をする

冒頭で記載したとおり、今回はIAMユーザでの認証を行います。

accessKeyとsecretKeyにはAWSで作成したIAMユーザのものを設定してください。

下記の処理は、S3で画像などをアップロードする前に1度だけ実行するようにします。

UIImageを保存して、URLを取得する

S3へ投稿するファイルは、一時的に端末内に保存して、そのURLをS3のSDKに指定する必要があります。

下記のメソッドで、S3へのアップロードする画像が保存されているURLを取得できます。

S3へアップロードする

下記のメソッドでS3へアップロードができます。

下記のメソッドを呼ぶ前には、上記で記載している認証の設定を事前に実行する必要があります。

また、「 uploadRequest?.bucket 」にはAWS上で作成したバケット名を指定し、「 uploadRequest?.key 」にはS3上に保存したいファイル名を指定します。

なお、ファイル名はtest/hello.jpgとするとAWSコンソールなどから見た際にtestフォルダ内にhello.jpgファイルが保存されているように見えるので、ファイルをまとめて管理したい場合には、「test/」などのプレフィックスをつけるとよいでしょう。

さいごに

直近のプロジェクトで、S3へ画像をアップロードする必要があったので調べてみました。

ぜひ、ご参考にしていただければと思います。

blog-page_footer_336




blog-page_footer_336




-iOS
-,

執筆者:

免責事項

このブログは、記事上部に記載のある投稿日時点の一般的な情報を提供するものであり、投資等の勧誘・法的・税務上の助言を提供するものではありません。仮想通貨の投資・損益計算は複雑であり、個々の取引状況や法律の変更によって異なる可能性があります。ブログに記載された情報は参考程度のものであり、特定の状況に基づいた行動の決定には専門家の助言を求めることをお勧めします。当ブログの情報に基づいた行動に関連して生じた損失やリスクについて、筆者は責任を負いかねます。最新の法律や税務情報を確認し、必要に応じて専門家に相談することをお勧めします。


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


関連記事

swift

Swift3 StoryBoard上でUIButtonやUILabel、UIViewのcornerを変更する

1 はじめに1.1 前提条件2 StoryBoardの準備3 カスタムクラスの作成3.1 class ~について3.2 @IBDesignableを記述すると3.2.1 Live Renderingと ...

swift

Swift3でMapKitの吹き出し(Callout)タップを取得したい!

1 はじめに2 MapKitでの吹き出しタップ3 吹き出しのみタップしたい!4 さいごに はじめに こんにちは、nukkyです。 今回、iOSのMapKitでGoogleMapのように 吹き出しのタッ ...

swift

Swiftで絵文字を判定する方法

1 はじめに2 実装2.1 絵文字の判定2.2 UITextFieldで絵文字の排除3 さいごに はじめに こんにちは、nukkyです。 今回はアプリでの文字入力の際に 入力された文字が絵文字かどうか ...

swift

[Swift]Schemaを使用してURLの接続先を切り替える

1 はじめに2 XCodeのBuildConfigurationとは3 スキーマとは4 スキーマの追加方法5 スキーマの設定変更6 開発と本番で異なる通信の接続先を設定する7 さいごに はじめに はじ ...

iOS14を控えた今こそUINavigationBarAppearance

1 はじめに2 UINavigationBarAppearance2.1 タイトルのカスタマイズ2.2 背景のカスタマイズ2.3 UIBarButtonItemAppearance2.4 ボタンタイト ...

フォロー

blog-page_side_responsive

2017年3月
 1234
567891011
12131415161718
19202122232425
262728293031  

アプリ情報

私たちは無料アプリもリリースしています、ぜひご覧ください。 下記のアイコンから無料でダウンロードできます。