问题描述
我正在构建一个应用程序,该应用程序中我从api获取图像网址并将其显示给用户。这是我的代码:
Image.network(
news.urlToImage ??
defaultPlaceholderImageUrl,),
Api有时不提供url,因此我显示了占位符图像,这部分工作正常。但是使用提供的网址之一出现以下错误:
════════ Exception caught by image resource service ════════════════════════════════════════════════
Invalid argument(s): No host specified in URI https:////m.files.bbci.co.uk/modules/bbc-morph-sport-SEO-Meta/1.20.8/images/bbc-sport-logo.png
解决方法
问题出在URL https:////m.files.bbci....
中。它有4个/
,这是Image.network()
小部件的无效URL格式。到目前为止,还没有捕获异常的本机方法,但是您可以使用其他库。您可以从这篇文章中了解有关此问题的更多信息以及可能的解决方案。
Flutter how to handle Image.network error (like 404 or wrong url)
,使用此代码,图片可在应用中运行。希望能帮助到你: https://flutter.dev/docs/cookbook/images/network-image
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
var title = 'Web Images';
return MaterialApp(
title: title,home: Scaffold(
appBar: AppBar(
title: Text(title),),body: Image.network(
'https:////m.files.bbci.co.uk/modules/bbc-morph-sport-seo-meta/1.20.8/images/bbc-sport-logo.png',);
}
}