在您构建应用时,事情有时并不会按预期发展,而是会发生错误。
如果您有疑问,可检查错误处理程序(或 Promise 的 catch()
函数),并查看错误消息的内容。
如果您已查看错误消息并且 Cloud Storage Security Rules 允许您执行操作,但仍然无法消除错误,请访问我们的支持页面,并告诉我们如何为您提供帮助。
处理错误消息
很多原因都可能导致错误发生,包括文件不存在、用户没有访问所需文件的权限,或者用户取消文件上传操作。
要正确诊断问题并处理错误,请查看下面的完整列表,了解我们的客户端可能报告的所有错误以及错误发生的原因。
代码 | 原因 |
---|---|
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=<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 |
客户端上的文件与服务器收到的文件的大小不匹配。请尝试重新上传。 |