You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter中使用SvgPicture.asset加载图片报错的解决求助

解决Flutter中用flutter_svg加载PNG图片的错误问题

嘿,我一眼就发现问题所在啦!你遇到的这个错误,核心原因非常明确:

你正在用flutter_svg库的SvgPicture.asset()组件去加载PNG格式的图片,但这个组件是专门为SVG矢量图设计的,完全不支持PNG这类位图格式,所以解析器读到PNG的二进制数据时直接报错了。

具体解决方案分两种情况:

情况1:你的图片确实是PNG格式

直接把加载组件换成Flutter原生的Image.asset()即可,修改代码里的这一行:

// 原来的错误写法
SvgPicture.asset('assets/Image1.png'),

// 替换成这个
Image.asset('assets/Image1.png'),

情况2:你本来想加载的是SVG图片

那你需要做两件事:

  • 确认你的图片文件后缀是.svg,比如把Image1.png重命名为Image1.svg
  • 同步修改代码里的路径:
    SvgPicture.asset('assets/Image1.svg'),
    

额外排查步骤(如果还是有问题)

  • 执行flutter clean清理项目缓存
  • 重新执行flutter pub get确保依赖和资源都正确加载
  • 检查pubspec.yaml里的assets配置,你现在写的- assets/是对的,只要图片确实放在项目根目录的assets文件夹里就没问题

另外补充下,你错误信息里提到的MyBarber3.png和代码里的Image1.png文件名不一致,也可以检查下是不是文件名拼写错误导致的资源找不到~

内容的提问来源于stack exchange,提问作者roee attias

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 02:53:12