我正在开发必须获得不同价值的个人资料卡。我正在获得所有的价值,但我也想加载网络映像。我使用的是FileMaker Server,我已经注意到需要Coockies来加载它。当我发出请求副本时,将图像URL粘贴到我的浏览器中即可加载。但是每当我将其加载到应用程序中时,我的图像就会获得401 statusCode。
我只尝试了有效的有效网络映像,我已经阅读了一些有关Coockies的信息,但是我不确定是否需要使用它们以及如何使用它们。我也觉得很奇怪,每当我将图像加载到浏览器中时,它都可以运行,但不能在我的应用程序上运行。
未来的makeRequest()异步{ var url4 = “ https://fms.xxxxxx.nl/fmi/data/v1/databases/Roscom管理系统/布局/ medewerker pa api / _find”; var body = json.encode({ “查询”:[ {“ Emailadres(1)”:“ xxxx@xxx.nl”} ], });
Map<String, String> headers = {
'Content-type': 'application/json',
'Accept': 'application/json',
"Authorization":
'Bearer xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
};
var response = await http.post(url4, body: body, headers: headers);
setState(() {
var responseJson = json.decode(response.body);
data = responseJson['response']['data'][0];
profielfoto = data['fieldData']['iMedewerker Foto'];
print(profielfoto);
});
我希望我可以使用var $ profielfoto将图像加载到networkimage中。我不知道该如何处理这些库克犬,或者也许有一种更简单的方法。希望有人可以帮助我,如果我需要提供有关服务器或其他任何信息的信息,请告诉我。 ;)
答案 0 :(得分:0)
几件事。请不要在setState中放置任何类型的繁重处理程序
https://docs.flutter.io/flutter/widgets/State/setState.html
通常建议仅将setState方法用于 包装对状态的实际更改,而不是可能的任何计算 与变更相关联。例如,此处是 构建函数增加,然后将更改写入磁盘, 但只有增量包装在setState中:
TextField
告诉窗口小部件何时需要重绘
https://flutter.dev/docs/cookbook/images/network-image
import 'package:flutter/material.dart';
class TextFieldInput extends StatefulWidget {
@override
TextFieldInputState createState() => TextFieldInputState();
}
class TextFieldInputState extends State<TextFieldInput> {
TextEditingController timerController;
@override
void dispose() {
timerController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Timer Picker"),
backgroundColor: Colors.deepPurple,
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: TextField(
keyboardType: TextInputType.number,
decoration: InputDecoration(
icon: Icon(Icons.timer),
hintText: "Please enter timer value in minutes"
),
controller: timerController,
onSubmitted: (v) => timerController.text = v,
),
),
);
}
}
https://flutter.dev/docs/cookbook/images/network-image
https://pub.dartlang.org/packages/cached_network_image
您有两种选择可以从网络上抓取图像。我相信我提出了一种方法。
答案 1 :(得分:0)
授权令牌必须是问题。当用户登录时,安全服务器将返回此令牌。然后所有后续请求都必须在“授权标头”中包含此令牌。如果不存在或不正确,服务器将返回401