Firebase Storageから画像f5bd8360.jpeg
をダウンロードしようとしています。 dataWithMaxSize:completion
を使ってこの画像をメモリにダウンロードすると、ダウンロードできます。
Firebase Storageローカルファイルへのダウンロードエラー
writeToFile:
インスタンスメソッドを使用してイメージをローカルファイルにダウンロードしようとすると、問題が発生します。私は次のエラーを取得してい
:ここ
Optional(Error Domain=FIRStorageErrorDomain Code=-13000 "An unknown
error occurred, please check the server response."
UserInfo={object=images/f5bd8360.jpeg,
bucket=fir-test-3d9a6.appspot.com, NSLocalizedDescription=An unknown
error occurred, please check the server response.,
ResponseErrorDomain=NSCocoaErrorDomain, NSFilePath=/Documents/images,
NSUnderlyingError=0x1700562c0 {Error Domain=NSPOSIXErrorDomain Code=1
"Operation not permitted"}, ResponseErrorCode=513}"
は私スウィフトコードの抜粋です:
@IBAction func buttonClicked(_ sender: UIButton) {
// Get a reference to the storage service, using the default Firebase App
let storage = FIRStorage.storage()
// Get reference to the image on Firebase Storage
let imageRef = storage.reference(forURL: "gs://fir-test-3d9a6.appspot.com/images/f5bd8360.jpeg")
// Create local filesystem URL
let localURL: URL! = URL(string: "file:///Documents/images/f5bd8360.jpeg")
// Download to the local filesystem
let downloadTask = imageRef.write(toFile: localURL) { (URL, error) -> Void in
if (error != nil) {
print("Uh-oh, an error occurred!")
print(error)
} else {
print("Local file URL is returned")
}
}
}
私が取得しています同じエラーでanother questionが見つかりましたが、それはに答えていませんでしたフル。私はその提案が正しいと思う。ファイルに書き込む権限がありません。しかし、どのように権限を得るのか分かりません。何か案は?
let downloadTask = imageRef.write(toFile: localURL) { (URL, error) -> Void in
etc.
あなたはまだその(localURL
)の場所への書き込み権限を持っていない:
他の回答と同様に、あなたは 'file:/// Documents/images/f5bd8360.jpeg'に書き込む権限を持っていない可能性があります。 '/ Documents'に書き込む許可を持っている可能性がありますが、'/Documents/images'は存在せず、自動的に作成されない可能性があるので、ファイルを書き込めないので失敗します。あなたが書き込むためのすべての正しいディレクトリを持っていることを確認してください。 –
[Firebase Storageからダウンロードしていない画像](http://stackoverflow.com/questions/37539785/images-not-downloading-from-firebase-storage) –
iOSでディレクトリを作成するにはどうしたらいいですか?特にimagesディレクトリ。 –