Flutter语言 - 如何在链接中没有图像时捕获image .network错误



您可以帮助解决如何捕获异常时,图像不存在于image .network小部件中给定的url。我尝试了errorBuilder属性,但仍然抛出异常。

Expanded(
child: Image.network(
imageUrl,
width: 50,
height: 250,
fit: BoxFit.fill,
errorBuilder: (context, exception, stackTrack) => Icon(Icons.error,),
))

当转到引发异常的图像链接时,显示如下:

{
"error": {
"code": 404,
"message": "Not Found.  Could not get object",
"status": "GET_OBJECT"
}
}

imageUrl链接是从Firabase加载的数据数组中获取的,如下所示

Future<void> loadData() async {
QuerySnapshot querySnapshot;
try {
querySnapshot = <gets data from firebase>
querySnapshot.docs.forEach((result) {
arr.add(result.data()); //adds data into an array
});
} catch (e) {
print(e);
}
}

您可以像下面这样使用错误生成器

errorBuilder: (context, error, stackTrace) {
return Image.asset(
'assets/images/image_not_found.png',
width: 300, 
height: 200, 
fit: BoxFit.contain
);
}

errorBuilder: (context, error, stackTrace) {
return Icon(Icons.error);
}

最新更新