【问题标题】:Invalid argument(s): No host specified in URI - Image.network无效参数:URI 中未指定主机 - Image.network
【发布时间】:2020-10-26 14:02:01
【问题描述】:

我正在构建一个应用程序,在其中我从 api 获取图像 url 并将它们显示给用户。这是我的代码:

 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 在浏览器中工作。但不是在应用程序中。我该如何解决这个问题?

【问题讨论】:

  • https://// 有 4 个斜线,你能检查一下这是否造成了问题吗?
  • @towhid 导致问题,谢谢。但是我需要手动更正吗?
  • 如果您可以访问数据库或以某种方式可以更改它,那么您必须这样做。否则,您必须手动修复它replaceAll('////', '//')
  • 好吧,我无法访问,它来自 API。但我想知道,如果我们出错了,如何使用 try-catch 来防止此类错误并显示用户默认图像
  • 据我所知,没有使用 Image.network() 的本地方法。但是您可以从这篇文章中获得帮助:stackoverflow.com/q/52568872/6413387

标签: flutter host


【解决方案1】:

问题出在 URL https:////m.files.bbci....。它有 4 个 /,这是 Image.network() 小部件的无效 URL 格式。到目前为止,还没有本地方法来捕获异常,但您可以使用不同的库。您可以从这篇文章中了解有关该问题和可能的解决方案的更多信息。

Flutter how to handle Image.network error (like 404 or wrong url)

【讨论】:

    猜你喜欢
    • 2022-06-15
    • 2021-09-19
    • 2021-06-10
    • 2020-10-09
    • 2021-11-10
    • 2021-09-28
    • 2021-08-10
    • 2022-11-12
    • 2021-08-19
    相关资源
    最近更新 更多