final Model.User user = Provider.of<UserProvider>(context).getuser;
CircleAvatar(
backgroundImage: NetworkImage(user.photoUrl),
),
用户从Firebase认证中获得。它有一个属性"photoUrl"这是一个链接到用户的档案照片存储在重火力点存储。当在Firebase控制台中点击此链接时,它会直接将图像下载到我的计算机上。
我使用NetworkImage得到的错误是:
加载网络映像失败。图像URL: https://firebasestorage.googleapis.com/v0/b/instagram - 66769. - appspot.com/o/profilepics%2fojktbpwzhhpvehjsxadjpccshb42?alt=media&令牌= 7 a450efa - 345 d - 40 - b3 - a57e c0af81303fff
上面的URL是什么用户。photoUrl。
除了NetworkImage我还能用什么?
首先,您必须像这样存储图像URL。
final Reference firebaseStorageRef = FirebaseStorage.instance
.ref()
.child('folderName')
.child("imageName with it's file extension");
await firebaseStorageRef.putData(await (yourimage as File/Xfile).readAsBytes());
final String? imageURL = await firebaseStorageRef.getDownloadURL();
之后,您可以在Image.network()
或任何其他网络图像小部件中使用imageURL。
还要确保使用文件类型或XFile类型您的图像在上面的代码中