【发布时间】:2012-05-07 18:41:35
【问题描述】:
在我的 python shell 中,我可以做到
>>> import mimetypes
>>> mimetypes.guess_type("ulla.svg")
('image/svg+xml', None)
它的行为符合预期,但是,在谷歌应用引擎上运行相同的代码(或至少,这个相同的例子),它返回(None, None)
class TestHandler(webapp2.RequestHandler):
def get(self):
import mimetypes
self.response.out.write(mimetypes.guess_type("ulla.svg"))
我做错了吗? :)
顺便说一句 - 在我的 macbooks shell 中是 python 2.7,在 app-engine 上也是 2.7
【问题讨论】:
-
我在使用 .docx、.xlsx、.webm 以及许多其他文件扩展名时遇到了同样的问题:guess_type 在开发环境中工作正常,在 Google App Engine 中返回 None。
-
我发现的解决方法是从 dev env 中获取 mimetypes.types_map 字典,并使用手工制作的 guess_type 函数在该字典上执行 get()。
标签: python google-app-engine mime webapp2