【问题标题】:Serve Static PNG files with an "image/png" content type, not "image/x-png"提供具有“image/png”内容类型的静态 PNG 文件,而不是“image/x-png”
【发布时间】:2013-02-17 06:19:34
【问题描述】:

我正在使用带有 Python 的谷歌应用程序引擎,并且有几个静态 .png 图像文件,但它们都以“image/x-png”内容类型提供。当我使用像 chrome 这样的浏览器并尝试查看这些图像时,这是一个问题,因为内容类型无法识别,这会迫使 chrome 将其下载为二进制文件,而不是显示图像。

如何让 App Engine 使用正确的“image/png”mime 类型来提供这些服务?

【问题讨论】:

    标签: google-app-engine png mime-types


    【解决方案1】:

    假设您使用的是 Java,这通常在 web.xml 文件的 mime-mapping 部分中指定。参见例如herehere

    在你的情况下,我会尝试

     <mime-mapping>
            <extension>png</extension>
            <mime-type>image/png</mime-type>
     </mime-mapping>
    

    在 Python 中,您似乎应该在您的 app.yaml 中添加一些 handler,并使用适当的 mime_type,例如(替换为您自己的 urlstatic_dir):

    handlers:
    - url: /static/*.png
      static_dir: static
      mime_type: image/png
    

    【讨论】:

    • 对不起,我应该指定它用于 python。我在之前的搜索中找到了此页面,但找不到与 python app.yaml 文件对应的页面。
    • 由于某种原因,我还需要在部署盒上安装 PIL。在我这样做之前,它一直作为 x-png...
    • 如果您从同一个静态目录提供多种文件类型,则此解决方案不起作用。有没有办法将文件扩展名与 mime 类型匹配?
    猜你喜欢
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 2012-12-12
    • 2016-03-14
    • 2022-11-17
    • 2013-03-21
    • 1970-01-01
    • 2019-12-29
    相关资源
    最近更新 更多