Flutter相对路径无法加载资产问题求助(含最新更新)
Flutter相对路径加载图片失败的解决方法
问题场景
在VS Code开发Flutter应用时,只能通过绝对路径加载资产图片,使用相对路径会抛出断言错误:
The following assertion was thrown resolving an image codec: Unable to load asset: "diolos/assets/images/diolosLogoBlancEntete.png". Exception: Asset not found
已在pubspec.yaml中配置资产路径,但调整配置后仅预览能显示图片,运行时仍报错。
排查与解决步骤
修正pubspec.yaml的缩进层级
Flutter的YAML配置对缩进要求严格,assets节点必须嵌套在flutter节点下(与uses-material-design同级)。检查你的配置,确保格式正确:flutter: uses-material-design: true assets: - diolos/assets/images/原配置中
assets顶格写会导致Flutter无法识别该资产配置。清理缓存并重新加载依赖
缓存可能导致配置变更不生效,执行以下命令:flutter clean flutter pub get执行完成后重启VS Code,再重新运行项目。
校验路径与文件名的准确性
- 确认图片文件实际存在于项目根目录的
diolos/assets/images/路径下 - 路径和文件名区分大小写,比如
diolosLogoBlancEntete.png不能写成DiolosLogoBlancEntete.png,png后缀也不能写成PNG
- 确认图片文件实际存在于项目根目录的
正确编写图片加载路径
配置整个资产文件夹后,加载图片时直接使用相对项目根的路径即可,无需添加绝对路径前缀:Image.asset( height: 50, 'diolos/assets/images/diolosLogoBlancEntete.png', )
内容的提问来源于stack exchange,提问作者Olivier
相关产品推荐
相关产品推荐

