Flutter Firebase 存储:请求没有身份验证令牌

Kha*_*aan 5 firebase flutter firebase-storage

我一直在尝试使用 Image_Picker 时将图像上传到 Firebase 存储。

当我想将图像(imageFile)上传到 Firebase Storage 时

 Future uploadFile() async {
    StorageReference storageReference =
        storage.ref().child('profile/${Path.basename(imageFile.path)}}');

    print('uploading..');
    StorageUploadTask uploadTask = storageReference.putFile(imageFile);

    //waiting for the image to upload
    await uploadTask.onComplete;

    print('File Uploaded');
    storageReference.getDownloadURL().then((fileURL) {
      setState(() {
        imageURL = fileURL;
      });
      print(imageURL);
    });
  }
Run Code Online (Sandbox Code Playgroud)

但是,在上传过程中,出现错误,提示我没有身份验证令牌请求。我之前使用过 Firebase Auth 将数据存储到数据库,并且所有内容都已正确配置(我认为是这样,因为 Firebase 给了我一个 google.json 文件)。

W/NetworkRequest( 5796): no auth token for request

E/StorageUtil( 5796): error getting token java.util.concurrent.TimeoutException: Timed out waiting for Task
Run Code Online (Sandbox Code Playgroud)

我还尝试将存储规则从 read, write if auth != null 更改为 read, write。

小智 1

检查您的 firebase 存储规则。我认为默认选项是仅允许经过身份验证的用户。如果这是问题所在,只需将它们更改为最适合您的需求即可。

  • @AhmedKhattab 你设置了什么?可以分享一下规则吗?请问我也有同样的问题! (2认同)