在浏览器中打开SVG会呈现XML代码而不是图像

时间:2012-02-16 23:44:36

标签: xml apache http svg

我曾多次通过浏览器打开位于不同网站上的SVG文件,并将它们显示为图像 现在,我复制相同的SVG,我将其上传到远程主机,Google Chrome和Firefox都呈现XML代码 浏览器如何确定是否显示图像或XML代码?

2 个答案:

答案 0 :(得分:12)

关于你的上一个问题:浏览器如何确定是显示图像还是XML代码?

答案在于XML命名空间。 XML标记中指定的XML命名空间告诉用户代理如何处理标记。因此,如果您的<svg>没有属性xmlns="http://www.w3.org/2000/svg",那么浏览器将显示文本而不是SVG渲染的矢量图形。

答案 1 :(得分:2)

您必须将服务器配置为向您发送带有Content-Type: image/svg+xml标头的svg文件。 Here是关于如何使用Apache执行此操作的示例。