Flutter新手加载网络/本地图片时遇Exception: Invalid Image Data错误求助
Flutter加载图片报错「Exception: Invalid Image Data」的解决办法
先核对路径/URL是否正确
本地图片要确认pubspec.yaml里的assets配置没错,比如:assets: - assets/images/avatar.png网络图片的URL直接复制到浏览器打开,看能不能正常显示图片,要是跳404或者别的页面,那就是URL有问题。
检查图片格式是否支持
Flutter只认png、jpg、jpeg、gif、webp、bmp、wbmp这些格式,像svg这种得用专门的flutter_svg插件。如果是格式不对,转成支持的格式再试。清理Flutter缓存试试
本地图片更新后缓存没清也可能出问题,执行下面命令清缓存:flutter clean flutter pub get之后重启项目再加载图片。
网络图片换种加载方式
有些网络图片接口可能需要请求头,或者返回的不是直接的图片流,这时候可以先通过http请求拿到图片字节,再用MemoryImage加载:import 'package:http/http.dart' as http; // 异步加载示例 Future<Image> loadNetworkImage() async { final response = await http.get(Uri.parse('https://example.com/your_image.jpg')); return Image.memory(response.bodyBytes); }确认图片文件没损坏
本地图片直接打开看看能不能正常显示,网络图片下载到本地检查。要是文件本身坏了,换个完好的图片就行。
内容的提问来源于stack exchange,提问作者Daniel Asi
相关产品推荐
相关产品推荐

