【Swift/AWS】Amplify.Storage.downloadFileメソッドの使い方!S3のファイルをダウンロード
この記事からわかること
- Swift/AWSでAmplify.Storage.downloadFileメソッドの使い方
index
[open]
\ アプリをリリースしました /
友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-
posted withアプリーチ
環境
- Xcode:15.0.1
- iOS:17.1
- Swift:5.9
- macOS:Sonoma 14.1
公式リファレンス:Amplify.Storage.downloadFile
Amplify.Storage.downloadFileメソッド
Amplify.Storage.downloadFile
メソッドを使用してS3に格納されているファイルをアプリのドキュメントディレクトリの中などにダウンロードすることが可能です。第一引数には対象のS3のキーを第二引数にはローカルに保存したいパスを渡します。
guard let docURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first else{
fatalError("URL取得失敗")
}
// ファイル名を含めたフルパスを生成
let localPath = docURL.appendingPathComponent("sample.txt")
let downloadTask = Amplify.Storage.downloadFile(
key: "任意のキー",
local: localPath,
options: nil
)
Task {
for await progress in await downloadTask.progress {
print("Progress: \(progress)")
}
}
// value自体は空だがダウンロードが失敗していたらtryをcatchする
try await downloadTask.value
print("Completed")
プログレスを受け取れるのでダウンロードの進捗状況も取得することが可能です。
まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。
ご覧いただきありがとうございました。