gpt4 book ai didi

firebase - 将文件上传到 Firebase 云存储时出错 : "Listing objects in a bucket is disallowed for rules_version = 1"

转载 作者:行者123 更新时间:2023-12-02 22:14:49 28 4
gpt4 key购买 nike

我已经在我的应用程序上设置了 firebase 身份验证和云存储。但是,每当我尝试上传文件时,都会收到错误,找不到任何相关信息。错误是 400:错误请求,并显示以下消息

对于rules_version =“1”,不允许列出存储桶中的对象。请将存储安全规则更新为rules_verison = "2"以使用列表。

我似乎找不到任何有关更新安全规则版本的信息。请注意,当我查看 firebase 控制台时,上传实际上已成功完成,但 HTTP 返回仍然是上面的错误。列出对象意味着什么?如何更新我的安全规则?

有关更多信息,我的上传代码(Kotlin)是

 fun uploadImage(uri: Uri, path: String): Task<Uri> {
val storageRef = FirebaseStorage.getInstance().reference
val storagePath = storageRef.child(path)
return storagePath.putFile(uri).continueWithTask{ storageRef.downloadUrl }
}

我用它来调用它

public override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
if (requestCode in 0..2 && resultCode == Activity.RESULT_OK) {
val cropImageUri = CropImage.getActivityResult(data).uri
val systemTime = System.currentTimeMillis()
val path = "$userId/$systemTime"
//IMAGE UPLOAD HERE:
FirebaseImageResource.uploadImage(cropImageUri, path)
.addOnCompleteListener {
if (it.isSuccessful) {
GlideApp.with(this)
.load(cropImageUri)
.into(imageViewForPosition(requestCode)!!)
imageUris[requestCode] = it.result.toString()
}
}
}
}

我的 firebase 规则是默认规则:

service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}

我也成功使用 Facebook 登录进行了身份验证

override fun onSuccess(loginResult: LoginResult) {
val credential = FacebookAuthProvider.getCredential(loginResult.accessToken.token)
auth.signInWithCredential(credential)
}

(它现在缺少成功监听器,但我知道它正在工作,因为当我不使用它时,我会收到未经授权的错误,并且文件实际上并未上传)

最佳答案

您需要将此添加到您的 Firebase 存储规则中:

rules_version = '2';

一个例子是这样的:

rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
}
}

我怀疑这是一个不太有用的错误消息。

关于firebase - 将文件上传到 Firebase 云存储时出错 : "Listing objects in a bucket is disallowed for rules_version = 1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56072204/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com