我有一个 API,每次调用它时都会发送一张随机照片。但如果您最近看过所有照片,它会响应一个 json 对象,表示没有更多照片可用。在我的 Flutter 应用程序中,每次按下按钮时都可以正常获取照片(谢谢 StackOverflow),但老实说,我不知道如何处理响应为 json 的情况,因为我的 flutter 应用程序无法知道响应何时为 json ,所以我不能使用模型。如果有照片,这是工作代码:
import 'package:flutter/material.dart';
import 'dart:math';
class ImageDialog extends StatelessWidget {
@override
@override
Widget build(BuildContext context) {
return Dialog(
child: FutureBuilder(
future: _loadImage(),
builder: (BuildContext context, AsyncSnapshot<Image> image) {
if (image.hasData) {
return image.data; // image is ready
} else if (image.hasError) {
return Text("No photo available"); // placeholder
} else {
return Text("Impossible");
}
},
));
}
Future<Image> _loadImage() async {
return Image.network(
'http://192.168.1.19:5000/photo',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization':
'Bearer token',
},
key: ValueKey(new Random().nextInt(100)),
);
}
}
提前谢谢:)
CW,因为这不是我的解决方案,但用户不太可能在 4 年后发布实际答案。这是他们在评论中所说的内容(稍作修改)。
[我]没有将我的图像直接发送到应用程序,而是[发送到] json 如果照片可用,则带有 url;如果没有,则带有错误代码。我是 然后静态提供图像,如果图像可用 [I] 正在发送显示所需照片的网址。