fas*_*ide 6 python google-app-engine mime webapp2
在我的python shell中,我可以做到
>>> import mimetypes
>>> mimetypes.guess_type("ulla.svg")
('image/svg+xml', None)
Run Code Online (Sandbox Code Playgroud)
并且它的行为符合预期,但是,在谷歌应用引擎上运行相同的代码(或至少,这个相同的例子),它返回 (None, None)
class TestHandler(webapp2.RequestHandler):
def get(self):
import mimetypes
self.response.out.write(mimetypes.guess_type("ulla.svg"))
Run Code Online (Sandbox Code Playgroud)
我做错了吗?:)
顺便说一句 - 在我的macbooks shell中它是python 2.7,在app-engine上也是2.7
.svg不包含在模块的默认types_map嵌入中mimetypes:
>>> import mimetypes
>>> print '.svg' in mimetypes.types_map
False
Run Code Online (Sandbox Code Playgroud)
mimetypes模块从系统文件添加额外的扩展/ mimetypes ,svg在大多数发行版中定义/etc/mime.types
$ cat /etc/mime.types | grep svg
image/svg+xml svg svgz
Run Code Online (Sandbox Code Playgroud)
但不幸的是,它没有在App Engine沙箱中定义.
您应填写公共问题跟踪器上的缺陷
作为一种解决方法,您可以自己注册mimetype mimetypes.add_type
>>> import mimetypes
>>> mimetypes.guess_type("ulla.svg")
(None, None)
>>> mimetypes.add_type("image/svg+xml", ".svg")
>>> mimetypes.guess_type("ulla.svg")
('image/svg+xml', None)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1643 次 |
| 最近记录: |