【发布时间】:2019-01-04 06:33:26
【问题描述】:
我正在使用 Flutter 和 Firebase。我已经设法使用这样的方案将用户个人资料照片上传到 Firebase 存储:
用户/userid.png
到目前为止,每当我需要显示用户个人资料图像时,我都必须先将其下载到本地;喜欢
final String fileName = uid + ".png";
Directory appDocDir = await getTemporaryDirectory();
String appDocPath = appDocDir.path;
final File file = File('$appDocPath/$fileName');
// clears the file
file.writeAsStringSync("");
final StorageReference ref = FirebaseStorage.instance.ref().child('users/' + fileName);
final StorageFileDownloadTask downloadTask = ref.writeToFile(file);
final int byteNumber = (await downloadTask.future).totalByteCount;
print("byteNumber : ${byteNumber}");
} catch(e) {
return null;
}
但是,我想知道我是否可以跳过这一步而只使用 NetworkImage() 函数,例如:
final StorageReference ref = FirebaseStorage.instance.ref().child('users/' + user.uid + ".png");
String downloadURL = await ref.getDownloadURL();
downloadURL = Uri.decodeFull(downloadURL.toString());
print("FB Storage URL: $downloadURL");
return new NetworkImage(downloadURL);
它不起作用并引发异常。
我想要做什么;有可能吗?
【问题讨论】:
-
请添加例外。
标签: firebase flutter firebase-storage