有時,當您建立應用程式時,事情不會按計劃進行,並且會發生錯誤!
如有疑問,請捕獲函數引發的異常並查看錯誤訊息的內容。
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 | 向refFromURL() 提供的 URL 無效。格式必須為: gs://bucket/object 或https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token=<TOKEN> |
storage/invalid-argument | 傳遞給put() 的參數必須是File 、 Blob 或UInt8 Array。傳遞給putString() 的參數必須是原始字串、 Base64 或Base64URL 字串。 |
storage/no-default-bucket | 您的配置的storageBucket 屬性中尚未設定儲存桶。 |
storage/cannot-slice-blob | 通常發生在本機檔案發生變更(刪除、再次儲存等)時。確認文件未更改後再次嘗試上傳。 |
storage/server-file-wrong-size | 客戶端上的檔案與伺服器接收的檔案大小不符。再次嘗試上傳。 |