Flutter:找不到网络图像或获取错误时显示本地图像?

     2023-03-28     296

关键词:

【中文标题】Flutter:找不到网络图像或获取错误时显示本地图像?【英文标题】:Flutter : Display Local Image when Network Image not found or error fetching it? 【发布时间】:2020-09-15 13:23:21 【问题描述】:
Center(
                child: CachedNetworkImage(
                  imageUrl: "http:/ sosme link here",
                  errorWidget: (context, url, error) => Icon(Icons.error),
                  fadeInCurve: Curves.easeIn ,
                  fadeInDuration: Duration(milliseconds:1000),
                  fadeOutCurve: Curves.easeOut,
                  fadeOutDuration: Duration(milliseconds:500),
                  imageBuilder: (context, imageProvider) => Container(
                    height: 250.0,
                    width: 250.0,
                    decoration: BoxDecoration(
                    border: Border.all(
                    color: Colors.black,
                    ),
                    borderRadius: BorderRadius.all(Radius.circular(10)),
                    color: Colors.white,
                    image: DecorationImage(
                    image: imageProvider,
                    fit: BoxFit.cover,
                    ),
                    ),
                  ),
                ),
              ),  

我的目标是从可能存在也可能不存在的 URL 加载图像。 如果 URL 不存在,则加载资产图像。 尝试在此处插入资产图像,但没有用。 正如我在想,如果加载它时出错,意味着没有找到图像或其他东西。所以我想显示一个本地图像。

有什么建议吗?

errorWidget: (context, url, error) => Icon(Icons.error),

错误,当我使用资产图像时

【问题讨论】:

【参考方案1】:

您可以将FadeInImage 小部件用于您的用例..

这是给你的样本..


import 'package:flutter/material.dart';

void main() 
  runApp(MyApp());


class MyApp extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    final title = 'Fade in images';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: Text(title),
        ),
        body: Center(
          child: FadeInImage.assetNetwork(
            placeholder: 'assets/loading.gif',
            image: 'https://picsum.photos/250?image=9',
          ),
        ),
      ),
    );
  


你可以得到more information from official website。

【讨论】:

【参考方案2】:

确保图像存在于路径中的资产文件夹中。 例如:

errorWidget: (context, url, error) => Image.asset('assets/images/image.jpg'),

并在pubspec.yaml 文件中声明该路径。 例如:

assets:
    - assets/images/image.png

【讨论】:

你好。我试过了。但假设 URL 不可用,它给了我一个错误(我通过上传屏幕截图编辑了问题)。 @nelsonwong:在您的代码中,我看不到异常处理,即使您输入了错误的 URL,我的代码也应该按照 CachedNetworkImage 工作 感谢@srikanth7785 使用 Try/Catch 块解决。【参考方案3】:
CachedNetworkImage(
imageUrl: "your image url",
fit: BoxFit.cover,
width: MediaQuery.of(context).size.width,
placeholder: (context,url) => CircularProgressIndicator(),
errorWidget: (context,url,error) => new Icon(Icons.error))

【讨论】:

解释会改善这个答案

VSCode 在编译时显示 .vue 导入的“找不到模块”TS 错误

】VSCode在编译时显示.vue导入的“找不到模块”TS错误【英文标题】:VSCodeshowing"cannotfindmodule"TSerrorfor.vueimportwhilecompilingdoesn\'t【发布时间】:2019-07-1706:06:39【问题描述】:简单地说,vscode在一个模块中显示了这个错误:找... 查看详情

单击按钮时显示网络图像

...布时间】:2021-02-1704:41:26【问题描述】:我对移动开发和Flutter还很陌生,但它似乎是一个值得尝试的好技术。所以现在,我有一个API,它会在被询问时发送照片和文本,但每次你询问时,它都是不同的。因此,当我在我的应用... 查看详情

如果使用 javascript 或 jQuery 找不到源图像,如何显示图像标题

】如果使用javascript或jQuery找不到源图像,如何显示图像标题【英文标题】:HowtoshowimagetitleifsourceimageisnotfoundusingjavascriptorjQuery【发布时间】:2021-09-2302:07:07【问题描述】:我想在图像损坏或在给定路径中找不到图像时显示图像标... 查看详情

本地化后flutter在启动时显示黑屏

】本地化后flutter在启动时显示黑屏【英文标题】:fluttershowsblackscreenatstartupafterlocalization【发布时间】:2021-05-2623:20:10【问题描述】:在我尝试本地化应用程序后,我的颤振应用程序在启动时启动闪屏后立即显示黑屏。而且我不... 查看详情

当我尝试在 laravel 中添加 vue js 时显示错误 -> 错误:找不到模块 'webpack/lib/rules/DescriptionDataMatcherRulePlugin'

】当我尝试在laravel中添加vuejs时显示错误->错误:找不到模块\\\'webpack/lib/rules/DescriptionDataMatcherRulePlugin\\\'【英文标题】:Whenitrytoaddvuejsinlaravelshowsanerror->Error:Cannotfindmodule\'webpack/lib/rules/DescriptionDataMatcherRulePlug 查看详情

Flutter 预览图标在代码完成时显示损坏的资产图像

】Flutter预览图标在代码完成时显示损坏的资产图像【英文标题】:Flutterpreviewiconsshowingbrokenassetimageoncodecompletion【发布时间】:2021-09-2112:28:45【问题描述】:当我第一次安装颤振和飞镖扩展时,图标预览工作正常,但是当我在没... 查看详情

Flutter - 让应用在设备离线时显示之前获取的数据

】Flutter-让应用在设备离线时显示之前获取的数据【英文标题】:Flutter-Maketheappshowthepreviouslyfetcheddatawhendeviceisoffline【发布时间】:2019-08-2115:09:52【问题描述】:我是Flutter新手,需要一些帮助。我构建了一个随机笑话生成器应用... 查看详情

暂停 HTML5 视频时显示海报图像或暂停按钮?

】暂停HTML5视频时显示海报图像或暂停按钮?【英文标题】:ShowposterimageorpausebuttonwhenHTML5videoispaused?【发布时间】:2014-07-0119:06:07【问题描述】:您好,我正在为iPad编写一个本地网站,并且有一个没有控件的视频,点击时播放和... 查看详情

如何在 Flutter 中获取当前位置时显示加载微调器?

】如何在Flutter中获取当前位置时显示加载微调器?【英文标题】:HowtodisplayaloadingspinnerwhilegettingthecurrentlocationinFlutter?【发布时间】:2020-02-1813:49:33【问题描述】:我正在开发一个获取用户当前位置的Flutter应用,但是在获取该位... 查看详情

使用 Getx 小部件-Flutter 运行时显示错误

】使用Getx小部件-Flutter运行时显示错误【英文标题】:showingErrorwhilerunningusingGetxwidget-Flutter【发布时间】:2021-05-2413:27:15【问题描述】:此错误仅在我使用get包时发生。为了解决这个问题,我从.pub-cache/hosted/pub.dartlang.org目标中删... 查看详情

Flutter 项目运行时显示错误无效参数:源不得为空

】Flutter项目运行时显示错误无效参数:源不得为空【英文标题】:FlutterprojectwhenrunshowingErrorInvalidargument(s):Thesourcemustnotbenull【发布时间】:2018-12-3013:56:37【问题描述】:我是新来的颤振。我在尝试运行时创建了一个简单的颤振项... 查看详情

mac编译java时生成class文件但运行时显示找不到或无法加载主类

...的时候可以生成class文件,但“javaclassname”运行时显示找不到或无法加载主类,我如果不把这些代码放到包里,就可以运行,请问这是怎么回事?谢谢!package a.b.c;public class D    public static void&nbs... 查看详情

在vscode中调试flutter App时显示错误

】在vscode中调试flutterApp时显示错误【英文标题】:DisplayanerrorwhiledebugtheflutterAppinvscode【发布时间】:2019-12-0610:02:26【问题描述】:我无法在Vscode中调试我的FlutterApp,并且返回了DEBUGCONSOL:无法定位开发设备;请运行“颤振医生... 查看详情

如何在图像悬停时显示 div 或按钮?

】如何在图像悬停时显示div或按钮?【英文标题】:Howtoshowdivorbuttononimagehover?【发布时间】:2018-08-1508:55:03【问题描述】:仅适用于悬停的图像。<divclass=\'post_body\'><divclass=\'postentry-content\'><spanclass=\'lightbox\'><imgcla... 查看详情

microsoftvisualfoxpro报表设计器打印浏览时显示找不到对象,怎么回事??

参考技术A没有给报表一个数据表,打开一个,再运行报表。 参考技术B同学,你把模板发给我看看。 查看详情

如何显示从 Flutter image_picker 插件获取的图像文件大小?

】如何显示从Flutterimage_picker插件获取的图像文件大小?【英文标题】:HowtodisplaytheimagefilesizetakenfromFlutterimage_pickerplugin?【发布时间】:2021-06-2407:00:52【问题描述】:我正在创建一个Flutter应用,我想在用户从图库或相机获取图像... 查看详情

找不到服务器或dns错误internetexplorer

查找你本地的DNS,修改DNS:右键点网上邻居--选择属性,然后弹出网络连接框,里面有一个是你的internet连接,最常用的名字是:本地连接找到本地连接之后,右键--属性弹出一个网络连接属性对话框在"此连接使用下列项目"找到i... 查看详情

更改在 Android 中按下概览按钮时显示的 Flutter 图标

】更改在Android中按下概览按钮时显示的Flutter图标【英文标题】:ChangeFluttericonthatshowswhenOverviewbuttonpressedinAndroid【发布时间】:2019-01-0506:18:33【问题描述】:我执行了FlutterLauncherIcons程序,它运行良好,所有应用程序图标都已更... 查看详情