flutter - Flutter:在解析图像编解码器时引发了以下 NetworkImageLoadException
问题描述
我面临一个非常奇怪的问题。我想显示数据库中的个人资料图像,通过将用户 ID 传递给 url 来获取图像,但由于一些奇怪的原因,用户 ID 没有被传递,我最终得到一个错误
I/flutter(4832):══╡图像资源服务发现异常╞══════════════════════╕══════════════ ═══════════════════ I/flutter(4832):抛出以下 NetworkImageLoadException 解析图像编解码器:I/flutter(4832):HTTP 请求失败,statusCode:400 , http://20.23.12.345:9080/api/auth/users/null/photo
这就是我的做法。当用户登录时,我传递包含所有用户详细信息的 json 并将它们保存到共享首选项,然后从配置文件页面访问用户 ID,并将其传递给 url 字符串。我究竟做错了什么。
如何从共享首选项中提取详细信息
String username = "";
String firstName = "", lastName = "";
Image photo;
int id;
String token = "";
List<int> img;
@override
void initState() {
// TODO: implement initState
super.initState();
}
void getName() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
username = prefs.getString("username");
username = prefs.getString("username");
firstName = prefs.getString("firstname");
lastName = prefs.getString("surname");
id = prefs.getInt("id");
token = prefs.getString("accessToken");
setState(() {});
}
如何访问尝试通过用户 ID 拉取图像
child: ClipOval(
child: new SizedBox(
width: 120.0,
height: 120.0,
child: (photo != null)
? photo
: Image.network(
"http://20.23.12.345:9080/api/auth/users/$id/photo",
//{key: "$token"},
fit: BoxFit.fill,
),
),
),
如何提取 json 并将其保存到共享首选项
SharedPreferences prefs = await SharedPreferences.getInstance();
var parse = jsonDecode(response.body);
if (parse["active"] == 1)
_BodyState.activeUser = true;
else
_BodyState.activeUser = false;
print("status:" + _BodyState.activeUser.toString());
await prefs.setString('username', parse["username"]);
await prefs.setString('accessToken', parse["accessToken"]);
await prefs.setString('surname', parse["surname"]);
await prefs.setString('firstname', parse["firstname"]);
await prefs.setInt('id', parse["id"]);
await prefs.setBool('active', _BodyState.activeUser);
我将不胜感激
解决方案
推荐阅读
- python - 如何完全停止使用 System.Diagnostic.Process.Start 启动的 .bat 文件(和子进程)
- java - Spring could config server 目录组织与 searchPaths 不起作用
- react-router - React Router 专注于未记录或丢失的路由更改
- javascript - 在打字稿中提取道具以分离Vue组合API中的模块
- reactjs - 尝试通过 React Navigation 了解在这种情况下 useCallback 的使用
- tableau-api - 将数据源上传到服务器正在删除计算字段?
- powershell - PowerShell 是否有一种干净的方式来验证要创建的文件的路径?
- c++ - 为什么我的解密函数中的这个循环不起作用?
- go - 使用 gob 解码 rpc 回复的错误
- reactjs - 使用 cypress 测试用例的 iframe 在 google crome 中运行,但不适用于 fire fox