Google app engine Google应用程序引擎正在发送错误mime类型的SVG

Google app engine Google应用程序引擎正在发送错误mime类型的SVG,google-app-engine,svg,mime-types,Google App Engine,Svg,Mime Types,我正在将Google App Engine与Python2.7结合使用,并尝试将svg文件用作sprite工作表 出于某种原因,这在Win7和Ubuntu上可以正常工作,但在Vista或Mac上不行(每种情况下都使用最新的Chrome和Firefox) 在这里,它与mime类型“application/octet stream”一起发送,浏览器会提示下载它,而不是显示它 我尝试在我的app.yaml中重写mime类型,如下所示: - url: /img/.*\.svg static_dir:

我正在将Google App Engine与Python2.7结合使用,并尝试将svg文件用作sprite工作表

出于某种原因,这在Win7和Ubuntu上可以正常工作,但在Vista或Mac上不行(每种情况下都使用最新的Chrome和Firefox)

在这里,它与mime类型“application/octet stream”一起发送,浏览器会提示下载它,而不是显示它

我尝试在我的app.yaml中重写mime类型,如下所示:

- url: /img/.*\.svg
  static_dir: public/img
  mime_type: image/svg+xml

- url: /img
  static_dir: public/img
但这并没有改变任何事情

我还尝试通过svg文件自己的url发送对svg文件的请求,如下所示

- url: /img/svg
  static_dir: public/img
  mime_type: image/svg+xml

- url: /img
  static_dir: public/img
但这会导致文件以mime类型“img/png”发送,因此浏览器至少会尝试显示它,但无法显示

为了确保这一点,我尝试了如上所述的每种组合,并使用了标题选项:

- url: /img/svg
  static_dir: public/img
  http_headers:
    mime-type: image/svg+xml
没有成功

需要帮忙吗

[编辑]

经过更多的测试后,它似乎在Ubuntu上使用本地应用程序启动器,它以
text/html
的形式发送svg,并且在部署时使用
application/octet-stream
,而不管我在app.yaml中放了什么

有人有这方面的经验吗?解决这个问题的唯一方法是直接将svg代码插入页面,这有点糟糕。这是一个图形,我想这样对待它

[更多编辑]

最后,我把它放在yaml文件中,它似乎起了作用:

- url: /img/.*\.svg
  static_dir: public/img
  http_headers:
    content_type: image/svg+xml

- url: /img
  static_dir: public/img
尝试:


谢谢,看起来很好用!知道为什么它在不同的客户端计算机上的行为如此不同吗?使用错误的MIME类型提供响应总是会产生不可预测的结果。一些客户会尝试猜测;对于猜测的工作原理,它们都有不同的规则,有些可能依赖操作系统支持来进行猜测和/或显示。更令人恼火的是,阿彭金猜不出正确的MIME类型;在这种情况下,这似乎很简单。为什么
.yaml
文件中的
mime\u type
标志不起作用?在他们的文档中:似乎是GAE错误。请在你的OP中发布一个包含完整.yaml代码的编辑,包括答案?
http_headers:
  content-type: image/svg+xml