繁体   English   中英

firebase_storage/object-not-found 在所需的引用中不存在 object

[英]firebase_storage/object-not-found No object exists at the desired reference

我的代码


Future<String> uploadFile(File _image) async {
  int uploadTimestamp = DateTime.now().millisecondsSinceEpoch;
  Reference ref = FirebaseStorage.instance.ref().child('posts/$uploadTimestamp');
  UploadTask uploadTask = ref.putFile(_image);
  final TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() {});
  final url = await taskSnapshot.ref.getDownloadURL();

  return url;
}

  • firebase_storage:^10.3.1
  • firebase_core: ^1.19.1

错误:[firebase_storage/object-not-found] 所需引用处不存在 object。

你想达到什么目的。 这里的一个嫌疑人是你没有在任何地方调用 _image。 好像您正在尝试上传一个int。

你没有打电话给

await ref.putFile(_image);

之前:

final TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() {});

然后调用:

await ref.getDownloadURL();

上传后获取下载地址。

并尝试收听不同的上传状态,例如:

uploadTask.snapshotEvents.listen((TaskSnapshot taskSnapshot) {
  switch (taskSnapshot.state) {
    case TaskState.running:
      final progress =
          100.0 * (taskSnapshot.bytesTransferred / taskSnapshot.totalBytes);
      print("Upload is $progress% complete.");
      break;
    case TaskState.paused:
      print("Upload is paused.");
      break;
    case TaskState.canceled:
      print("Upload was canceled");
      break;
    case TaskState.error:
      // Handle unsuccessful uploads
      break;
    case TaskState.success:
      // Handle successful uploads on complete
      // ...
      break;
  }
});

这可能很有用。 我把这个放在一起。

Future<String> uploadImageToDefaultBucket(File image) async {
    Reference firebaseStorageRef = FirebaseStorage.instance.ref("your-ref").child("your-path");
    UploadTask uploadTask = firebaseStorageRef.putFile(image);
    TaskSnapshot taskSnapshot = await uploadTask;
    return taskSnapshot.ref.getDownloadURL();
  }

您提供的错误消息通常是由不正确的 Cloud Storage 存储分区 URL 引起的。 您要检索的图像无法在您的云存储中找到。 您是否有任何日志可供共享以查看有关错误发生方式的更多详细信息? 您应该首先检查存储桶 URL 和文件名的拼写是否正确。

此外, 是您添加图像扩展名的方式。

基本上这个错误显示是因为你没有在 firebase 控制台启动你的存储,你应该首先 go 到存储并按开始,然后设置你的测试模式规则以防你用于测试并在完全重启你的应用程序之后,希望对你有帮助。

firebase_storage/object-not-found 在所需的引用中不存在 object

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM