gpt4 book ai didi

image - 处理 statusCode : 403 for Image. 网络

转载 作者:IT王子 更新时间:2023-10-29 07:00:34 24 4
gpt4 key购买 nike

能否帮忙解决当图片不存在或图片返回码HTTP请求失败,statusCode: 403

时如何捕获异常
    dynamic _getImage() {
try {
return Image.network(
"https://cdn.dribbble.com/users/1343501/screenshots/4789104/box_800_-601_2.gif",
height: 96.0,
width: 96.0,
fit: BoxFit.cover);
} catch (e) {
return Icon(Icons.print);
}
}

最佳答案

AFAIK,看起来 Flutter 网络图像方面还没有解决方案,try-catch 闭包在那里没有帮助,因此我想出了一个解决方法来为我处理它,尽管我没有喜欢但找不到更好的解决方案:

  bool imageReady = false;

@override
void initState() {
super.initState();
checkImageValidity(widget.url);
}

checkImageValidity(String url) async {
var url = Uri.parse(image!);
http.Response response = await http.get(url);
try {
if (response.statusCode == 200) {
setState(() {
imageReady = true; // It's valid
});
}
} catch (e) {
// TODO nothing special to do here
}
}

dynamic _getImage() {
try {
return imageReady
? Image.network(
"https://cdn.dribbble.com/users/1343501/screenshots/4789104/box_800_-601_2.gif",
height: 96.0,
width: 96.0,
fit: BoxFit.cover)
: Icon(Icons.print);
} catch (e) {
return Icon(Icons.print);
}
}

关于image - 处理 statusCode : 403 for Image. 网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com