代码片段 → HTAccess → 使用正确的 Content Type 提供 SVG 使用正确的 Content Type 提供 SVG Chris Coyier 于 2014 年 2 月 22 日 如果您尝试像 <img src="image.svg"> 那样使用 SVG,或作为 CSS background-image,并且文件链接正确且一切看起来都对,但浏览器没有显示它,可能是因为您的服务器以错误的 Content-Type 提供它。 将此添加到根目录的 .htaccess 文件中以修复它 AddType image/svg+xml .svg .svgz
为什么 Safari 上不显示 svg?
我使用 AWS 来提供我的资产文件,包括所有图像定义的外部 svg 文件。这些 SVG 对我不起作用,似乎不是 Content-Type 问题。是否已知跨域提供 SVG 文件存在问题?
您在控制台中看到错误吗?您如何使用 SVG?演示页面?
嗨 Noah,
我现在遇到了完全相同的问题。您找到了任何解决方案吗?
我找到了应用程序的问题,原始图像没有损坏,只有调整大小的图像损坏,我猜 Image Magick 存在问题。
谢谢!!
在我的情况下,我也没有在 HTML 中为 SVG 定义宽度或高度,因此它以 0px x 0px 的大小渲染 SVG。
以下代码对我有用:(为 IE8 及更低版本提供 PNG 备份)
非常感谢!
托管在 1und1 Webserver 上的网站上没有显示 SVG 图像。将“AddType…”输入 .htaccess 文件解决了问题!
谢谢
我在 weblogic 服务器上进行了更改。效果很好
在这里完成
C:\weblogic10\domain-pb-7.0.2-Dev\config\mimemappings.properties
svg=image/svg+xml
我刚刚遇到了这个问题,在 Chrome 中设计并进行实时预览时,当我将 svg 用作 img 时,我无法看到 svg。
解决方案非常简单 - 在 /localhost 上关闭 Adblock plus 解决了所有问题。
希望这有帮助
不是 htaccess 问题,但我在使用 blob 提供 SVG 文件时也遇到了类似的问题。Safari(Mac 和 iOS)和 Chrome(iOS)之类的浏览器现在不接受复杂的 MIME 类型,例如“image/svg+xml;charset=utf-8”。Mac 版 Chrome 则将其视为常规处理。如果您在使用 blob url 加载 SVG 时遇到问题,只需设置“image/svg+xml”,如本文所述,应该适用于所有平台。
我现在也正在修复此文档:https://mdn.org.cn/en-US/docs/Web/API/Canvas_API/Drawing_DOM_objects_into_a_canvas,因为原始文档在 Safari 上不起作用。
嘿,还有另一个问题。
一些 Windows 服务器无法渲染 SVG 文件。
允许使用 Windows 作为操作系统的 HOST
在根文件夹中创建一个名为“web.config”的文件,其中包含以下代码
<configuration>
<system.webServer>
<staticContent>
<remove fileExtension=".svg" />
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
</staticContent>
</system.webServer>
</configuration>
此解决方案解决了 Windows 主机中的问题。
这与在 .htaccess 文件中添加 addType 不一样吗?
AddType image/svg+xml svg
AddType image/svg+xml svgz
我一直试图在 Google Page Speed 上启用对 svg 文件格式的压缩,但遇到困难。如何操作?
很棒的解决方案,解决了我的 Fasthosts Windows 服务器问题。谢谢!
谢谢,对我有用。
非常感谢,更改 Content-Type 解决了问题
谢谢!此修复解决了我的问题!
我昨天添加了这行代码,它解决了我的问题,但现在 svg 再次出现
我解决了添加了 Module apache LoadModule mime_module modules/mod_mime.so