【发布时间】:2014-07-29 04:35:32
【问题描述】:
我正在使用带有 Python 2.7 的 Google App Engine,并且我正在尝试将 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
但这并没有改变什么。
我还尝试像这样通过自己的 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
【问题讨论】:
-
请使用包含答案的完整 .yaml 代码将编辑发布到您的 OP?
标签: google-app-engine svg mime-types