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

如何在Flutter中使用flutter_svg显示含href的SVG图片?

以下是几个可行的解决方法,按优先级尝试:

  • 升级flutter_svg到最新版本
    旧版本的flutter_svg对SVG的xlink:href属性(尤其是<use>引用内部带base64的<image>场景)支持不完善,升级到最新稳定版后,很多这类兼容性问题会被修复。

  • 将xlink:href替换为href(SVG2标准语法)
    SVG2已废弃xlink:href,改用简化的href属性,修改你的SVG代码:

    <!-- 修改后的<use>标签 -->
    <use href="#image0_11_2222" transform="scale(0.00100000 0.00200000)"/>
    
    <!-- 修改后的<image>标签 -->
    <image id="image0_11_2222" width="300" height="300" href="data:image/png;base64,..."/>
    

    flutter_svg对SVG2语法的支持更友好,修改后多数情况下能正常渲染。

  • 预处理SVG,移除引用
    如果上面的方法都无效,直接把<use>替换为对应的<image>内容,把transform属性转移到<image>标签上:

    <image width="300" height="300" transform="scale(0.00100000 0.00200000)" href="data:image/png;base64,..."/>
    

    这样绕开了<use>的引用逻辑,直接渲染图片资源。

  • 检查base64编码完整性
    确认<image>标签里的base64字符串没有截断、格式正确(必须以data:image/png;base64,开头,后续编码完整无缺失),编码错误也会导致图片加载失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:42:12