處理網頁版 Cloud Storage 的錯誤

有時候,當您建構應用程式時,問題會不在計畫裡,而且會發生錯誤!

如有疑問,請查看錯誤處理常式 (或 Promise 的 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() 的網址無效。格式必須為:gs://bucket/object 或 https://firebasestorage.googleapis.com/v0/b/bucket/o/object?token 選定 ltTOKEN>
storage/invalid-argument 傳遞至 put() 的引數必須是「File」、「Blob」或「UInt8」陣列。傳遞至 putString() 的引數必須是原始字串、Base64 或「Base64URL」字串。
storage/no-default-bucket 設定的 storageBucket 屬性中未設有任何值區。
storage/cannot-slice-blob 本機檔案變更 (刪除、再次儲存等) 時,通常就會發生這種情形。確認檔案未變更後,請嘗試重新上傳。
storage/server-file-wrong-size 用戶端上的檔案與伺服器接收的檔案大小不符。請重新上傳。