所以我想创建一个图片卡。我提取数据并将其存储在我的新闻Map中,键为urlToImage作为我的图片URL。它的工作都很好,但当URL如
https://i-invdn-com.investing.com/news/https://i-invdn-com.investing.com/akapi-images/800x450/59149e84fbd2b771f1b6adea95d99dd6_w_800_h_450.jpg
找不到资源(404错误)。我的应用崩溃。
下面是错误的日志图像:
错误记录
我是新来的,有人能帮我学习如何处理这个案子吗?
这是我的CachedNetworkImage小部件。
CachedNetworkImage(
imageUrl: news['urlToImage'] ?? NewsConstants.errorImage,
progressIndicatorBuilder: (context, url, downloadProgress) =>
CircularProgressIndicator(value: downloadProgress.progress),
errorWidget: (context, url, error) => const Icon(Icons.error),
)
我尝试过使用错误小部件,但也无济于事
2条答案
按热度按时间ohtdti5x1#
我认为网址是坏的。它看起来像网址字符串是从2个单独的网址创建的。可能你需要删除它的开始部分(https://i-dndvn-com.investing.com/news/)
https://i-dndvn-com.investing.com/news/https://i-invdn.invetinga.com/akapi..
yrefmtwq2#
我想复制这个网址,你正在使用“https://i-invdn-com.investing.com/news/https://i-invdn-com.investing.com/akapi-images/800x450/59149e84fbd2b771f1b6adea95d99dd6_w_800_h_450.jpg“,但它给了404回来,因为没有图片。
但是当我使用“https://i-invdn-com.investing.com/akapi-images/800x450/59149e84fbd2b771f1b6adea95d99dd6_w_800_h_450.jpg“时,一切都很好。
如果你总是从同一个URL提取鞍消息,那么就像news['urlToImage'].toString().substring(39)一样使用它。