Google App Engine正在发送带有错误mime类型的SVG

时间:2014-06-08 13:35:37

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

我正在使用Google App Engine和Python 2.7,并且我试图将svg文件用作精灵表。

出于某种原因,这在Win7和Ubuntu上运行良好,但在Vista或Mac上没有(在每种情况下使用最新的Chrome和Firefox)。

这里发送的是mime-type" application / octet-stream"并且浏览器提示下载它,而不是显示它。

我尝试在我的app.yaml中覆盖mime-type,如下所示:

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

- url: /img
  static_dir: public/img

但这并没有改变任何事情。

我还试图通过他们自己的网址(例如

)路由svg文件的请求
- url: /img/svg
  static_dir: public/img
  mime_type: image/svg+xml

- url: /img
  static_dir: public/img

但是这导致文件与mime-type" img / png"一起发送,所以浏览器至少会尝试来显示它,但是不能

为了确保,我按照规定尝试了每个组合,并使用了标题选项:

- url: /img/svg
  static_dir: public/img
  http_headers:
    mime-type: image/svg+xml

没有成功。

请帮忙吗?

[编辑]

经过一些更多测试后,似乎在Ubuntu上使用本地app-launcher,它将svg发送为text/html,部署时使用application/octet-stream,无论我在应用中放置什么。 YAML。

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

[更多编辑]

最后,我把它放在yaml文件中,似乎有效:

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

- url: /img
  static_dir: public/img

1 个答案:

答案 0 :(得分:9)

尝试:

http_headers:
  content-type: image/svg+xml