本地python简单http服务器在windows中发送错误的mime类型,但在Linux中不发送,

gupuwyp2  于 6个月前  发布在  Windows
关注(0)|答案(1)|浏览(62)

我用python创建了一个简单的http服务器(我还没有触及do_GET函数)
在Linux(ubuntu)一切正常,但在windows中,当我想在firefox(所以http://localhost:8000/editor.svg)中打开.svg文件时,它会问我是要下载它还是保存它。
在本网站上的前一个问题中已经确定,这是因为服务器发送了错误的mime类型
在windows中,响应头具有内容类型:'application/octet-stream'
在Linux中,响应头的内容类型为:'image/svg+xml'
在两种情况下使用的本地服务器完全相同。
有人知道我应该怎么做来解决这个问题吗(换句话说,让svg发送正确的mime类型)?我已经尝试在svg文件中使用Meta标签来指定没有帮助的内容。
tnx
编辑:
愚蠢的我,我真的需要学习如何更好地阅读文档。类(simpleHTTPServer. simpleRequestList)有一个extension_map属性,它是一个将扩展Map到MIME类型的字典,这正是我所需要的
如果你愿意,MODS可以删除这个问题。
我也感谢mikko的回答,它把我带到了正确的道路上。

0g0grzrc

0g0grzrc1#

你需要mimetypes.add_type()。
http://docs.python.org/library/mimetypes.html
Linux提供了系统范围内的mimetypes配置和最新的条目,而Windows显然没有。

相关问题