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

Flutter不支持AVIF图像格式,使用Image.network无法加载服务端AVIF图片

问题原因

你遇到的Invalid image data报错是因为Flutter 原生图像渲染系统默认不支持 AVIF 格式的编解码,你使用的Image.network()和CachedNetworkImage底层都调用 Flutter 引擎自带的图像解码器,目前仅原生支持 JPEG、PNG、GIF、WebP、BMP、WBMP 这些格式,无法识别 AVIF 编码的图像数据。

解决方案

  • 方案1:集成第三方 AVIF 解码依赖
    目前有成熟的第三方包封装了 AVIF 的编解码能力,引入对应依赖完成初始化后,无需修改原有加载逻辑,直接使用Image.network()和CachedNetworkImage就可以正常加载 AVIF 格式图片,支持 Android、iOS、Web、桌面端全平台。
  • 方案2:服务端格式兼容降级
    不需要额外引入客户端依赖,在请求图片接口时在请求头的Accept字段中只声明 Flutter 原生支持的图片格式,让服务端优先返回 WebP、JPEG 等兼容格式的资源,避免返回 AVIF 内容。
  • 方案3:自定义解码逻辑
    如果你有定制化需求,可以自己通过 FFI 调用 libavif 解码库,将 AVIF 二进制数据解码为 raw 像素数据后,再封装成 Flutter 可识别的图像数据进行渲染。

前置排查建议

先验证服务端返回的 AVIF 文件本身没有损坏:可以将图片链接下载到本地,使用支持 AVIF 格式的图像查看器打开测试,排除资源本身损坏导致的加载失败。

内容的提问来源于stack exchange,提问作者Jewel Rana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:15:04