處理 Web 上 Cloud Storage 的錯誤

有時,當您構建應用程序時,事情並沒有按計劃進行並發生錯誤!

如有疑問,請檢查錯誤處理程序(或 Promises 的catch()函數),並查看錯誤消息的內容。

如果您已檢查錯誤消息並擁有允許您執行操作的 Cloud Storage 安全規則,但仍在努力解決錯誤,請訪問我們的支持頁面並告訴我們如何提供幫助。

處理錯誤消息

可能發生錯誤的原因有很多,包括文件不存在、用戶無權訪問所需文件或用戶取消文件上傳。

為了正確診斷問題並處理錯誤,這裡是我們的客戶將提出的所有錯誤的完整列表,以及它們是如何發生的。

代碼原因
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` 數組。傳遞給putString()的參數必須是原始的“Base64”或“Base64URL”字符串。
storage/no-default-bucket您的配置的storageBucket屬性中沒有設置存儲桶。
storage/cannot-slice-blob通常發生在本地文件已更改(刪除、再次保存等)時。確認文件未更改後再次嘗試上傳。
storage/server-file-wrong-size客戶端上的文件與服務器收到的文件大小不匹配。再次嘗試上傳。