SVG数据URI不会在img标记中呈现

时间:2016-04-26 06:18:11

标签: html image svg base64 data-uri

我有一个数据URI Base64编码的字符串,我从剑道地图的Kendo.drawing.exportSVG方法中获取。

如果我将Base64字符串放入SVG解码器,然后将生成的SVG保存到文件中并在浏览器中打开它,图像显示正常,但如果我将其放入<img>标记,则不会显示任何内容

Base64字符串非常大,所以我把它放在一个JsFiddle来演示而不是粘贴它。

https://jsfiddle.net/qmap5sg9/

有人可以建议为什么图片没有加载吗?

1 个答案:

答案 0 :(得分:1)

您的数据网址包含大量对外部图片的引用,例如

<image preserveAspectRatio="none" x="310.15625" y="281" width="256px" height="256px" xlink:href="http://ecn.t0.tiles.virtualearth.net/tiles/r311213001300102.jpeg?g=5171&amp;mkt=en-US&amp;shading=hill" clip-path="url(#kdef7)" />

当用作图像时,在您的情况下,通过图像标记,SVG必须由单个文件组成,因此您必须将每个图像编码为数据URL,然后在您完成该操作后将整个SVG文件重新编码为数据URL。