アプリをビルドする際、思いどおりにいかなかったり、エラーが発生したりすることがあります。
理由がわからないときは、関数からスローされた例外をキャッチして、エラー メッセージの内容を確認します。
final storageRef = FirebaseStorage.instance.ref().child("files/uid");
try {
final listResult = await storageRef.listAll();
} on FirebaseException catch (e) {
// Caught an exception from Firebase.
print("Failed with error '${e.code}': ${e.message}");
}
エラー メッセージを処理する
エラーが発生する理由として、ファイルが存在しない、目的のファイルのアクセス権がユーザーにない、ユーザーがファイルのアップロードをキャンセルしたなど、たくさんの理由が考えられます。
問題を適切に診断してエラーを処理するには、クライアントで発生するすべてのエラーとその発生理由について説明した以下の全一覧をご覧ください。
コード | 説明 |
---|---|
storage/unknown |
不明なエラーが発生しました。 |
storage/object-not-found |
目的の参照にオブジェクトが存在しません。 |
storage/bucket-not-found |
Cloud Storage 用にバケットが構成されていません。 |
storage/project-not-found |
Cloud Storage 用にプロジェクトが構成されていません。 |
storage/quota-exceeded |
Cloud Storage バケットの割り当てを超えました。無料枠でご利用中の場合は、有料プランにアップグレードしてください。有料プランをお使いの場合は、Firebase サポートまでお問い合わせください。 |
storage/unauthenticated |
承認されていないユーザーです。認証してから、もう一度お試しください。 |
storage/unauthorized |
目的の操作を行う権限がユーザーにありません。セキュリティ ルールが正しいことをご確認ください。 |
storage/retry-limit-exceeded |
オペレーション(アップロード、ダウンロード、削除など)の最大時間制限を超えました。もう一度アップロードしてみてください。 |
storage/invalid-checksum |
クライアント上のファイルが、サーバーで受信されたファイルのチェックサムと一致しません。もう一度アップロードしてみてください。 |
storage/canceled |
ユーザーがオペレーションをキャンセルしました。 |
storage/invalid-event-name |
無効なイベント名が指定されました。[running 、progress 、pause ] のいずれかでなければなりません。 |
storage/invalid-url |
無効な URL が refFromURL() に指定されました。形式は、「gs://bucket/object 」または「https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> 」でなければなりません。 |
storage/invalid-argument |
put() に渡される引数は、File 、Blob 、または UInt8 の配列でなければなりません。putString() に渡される引数は、raw、Base64 、または Base64URL 文字列でなければなりません。 |
storage/no-default-bucket |
構成ファイルの storageBucket プロパティにバケットが設定されていません。 |
storage/cannot-slice-blob |
通常、ローカル ファイルの変更時(削除、再保存など)に発生します。ファイルが変更されていないことを確認した後、もう一度アップロードしてみてください。 |
storage/server-file-wrong-size |
クライアント上のファイルが、サーバーで受信されたファイルのサイズと一致しません。もう一度アップロードしてみてください。 |