如何将图像加载到内存中,然后保存到Flutter / Dart中的Firebase存储中

时间:2020-06-29 20:45:07

标签: firebase flutter dart firebase-storage

我将照片从URL加载到内存中(使用http程序包中的“ get”方法),然后尝试将其另存为Firebase Storage中的文件。

这是我正在使用的代码:

response = await http.get(photoUrl);
file = File.fromRawPath(response.bodyBytes);
FirebaseStorage.instance.ref().child(path).putFile(file);           

我遇到以下错误:

错误:“ package:firebase_storage / src / storage_reference.dart”:断言失败:第62行pos 12:“ file.existsSync()”:不正确。

关于如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

由于您将照片的内容读取到内存中,因此它不是不是文件,并且“毫无意义。

要从内存中上传原始数据,应使用StorageReference.putData method

类似的东西:

response = await http.get(photoUrl);
var bytes = response.bodyBytes;
FirebaseStorage.instance.ref().child(path).putData(bytes);