![](/img/trans.png)
[英]firebase_storage object-not-found No object exists at the desired reference flutter
[英]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/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();
}
基本上这个错误显示是因为你没有在 firebase 控制台启动你的存储,你应该首先 go 到存储并按开始,然后设置你的测试模式规则以防你用于测试并在完全重启你的应用程序之后,希望对你有帮助。
firebase_storage/object-not-found 在所需的引用中不存在 object
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.