代码之家  ›  专栏  ›  技术社区  ›  ajcw

SVG不适用于子域-有些浏览器试图下载而不是显示

  •  0
  • ajcw  · 技术社区  · 11 年前

    我有一个网站,它有一个“开发”子域,可以完全按照预期显示我的SVG文件。

    然而,当我把它复制到www或任何其他子域(例如“测试”)时,一些浏览器试图在外部编辑器中打开文件,因此要求我下载文件,而不是显示它。

    例如:

    SVG文件:

    <?xml version="1.0" standalone="no"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    <svg xmlns="http://www.w3.org/2000/svg" version="1.1">
      <circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
    </svg>
    

    这种情况发生在Firefox、Chrome和Safari中, 但是IE9及以上版本会按预期显示文件 .

    这是一个Windows主机,但我没有在任何子域上使用web.config文件。

    我的预感是,服务器上一定有一些设置,我需要我的托管公司来做。有人能提出可能导致这个问题的原因吗?

    1 回复  |  直到 11 年前
        1
  •  0
  •   Erik Dahlström    11 年前

    SVG文件需要使用有效的mime类型,最常见的是image/SVG+xml。我想你很可能是以text/plain的形式提供文件的。

    这是一个服务器问题,但如何配置文件的mime类型取决于服务器或托管环境的具体情况。