无效的参数:未在URI中指定主机-Image.network

问题描述

我正在构建一个应用程序,该应用程序中我从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

link在浏览器中有效。但不在应用程序中。我该如何解决

解决方法

问题出在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',);
  }
}