我已经研究了几个小时,并且研究了一堆似乎与我的问题相似的问题。我发现很多“修复”都有点过时,并且对于新版本的 flutter 无效。我目前使用的是 1.17.2,并且正在使用cached_network_image ^2.2.0+1。
\n\n因此,如果还没有照片,我会尝试使用通用占位符显示用户个人资料照片,或者我正在从 Firebase 中提取保存的照片(如果他们有的话)。
\n\n这是代码片段
\n\n_buildUserTile(User user) {\n return ListTile(\n leading: CircleAvatar(\n radius: 20.0,\n backgroundImage: user.profileImageUrl == null\n ? AssetImage(\'assets/images/user_placeholder.png\')\n : CachedNetworkImageProvider(user.profileImageUrl),\n ),\n title: Text(user.name),\n onTap: () => Navigator.push(\n context,\n MaterialPageRoute(\n builder: (_) => ProfileScreen(\n currentUserId: Provider.of<UserData>(context).currentUserId,\n userId: user.id,\n ),\n ),\n ),\n );\n }\nRun Code Online (Sandbox Code Playgroud)\n\n因此,当我运行该程序时,它会将圆形头像显示为蓝色圆圈,这就是我遇到的错误...
\n\n\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90 捕获异常通过图片资源服务\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95 \x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90 \xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2 \x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\n解析图像编解码器时引发以下 ArgumentError:\n无效参数: URI 中未指定主机
\n\n当异常抛出时,这是堆栈
\n\n _HttpClient._openUrl (dart:_http/http_impl.dart:2282:9)\n _HttpClient.openUrl (dart:_http/http_impl.dart:2200:7)\n IOClient.send \n package:http/src/io_client.dart:33\n HttpFileService.get \n package:flutter_cache_manager/\xe2\x80\xa6/web/file_service.dart:32\n WebHelper._download \n package:flutter_cache_manager/\xe2\x80\xa6/web/web_helper.dart:76\n\n Image provider: CachedNetworkImageProvider("", scale: 1.0) \n Image key: CachedNetworkImageProvider("", scale: 1.0): CachedNetworkImageProvider("", scale: 1.0)\nRun Code Online (Sandbox Code Playgroud)\n\n- 抱歉格式丑陋
\n\n所以它说 URI 中未指定主机。我不确定我做错了什么,也不知道如何解决这个问题。我对扑动很陌生。帮助将不胜感激。谢谢!如果需要更多详细信息,请告诉我。
\n您似乎收到该错误,因为您的链接为空。如果您想在链接为空时显示资产图片user.profileImageUrl.isEmpty。代码如下:
_buildUserTile(User user) {
return ListTile(
leading: CircleAvatar(
radius: 20.0,
backgroundImage: user.profileImageUrl == null || user.profileImageUrl.isEmpty
? AssetImage('assets/images/user_placeholder.png')
: CachedNetworkImageProvider(user.profileImageUrl),
),
title: Text(user.name),
onTap: () => Navigator.push(
context,
MaterialPageRoute(
builder: (_) => ProfileScreen(
currentUserId: Provider.of<UserData>(context).currentUserId,
userId: user.id,
),
),
),
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6010 次 |
| 最近记录: |