本地 python simple http erver 在 Windows 中发送错误的 mime 类型,但在 linux 中则不会发送错误的 mime 类型 for.svg
我在linux(ubuntu)中用python创建了一个简单的http服务器(我还没有触及do_GET函数),
一切正常 但在 Windows 中,当我想在 Firefox 中打开 .svg 文件时(所以 http://localhost:8000/editor.svg )它询问我是否要下载或保存它。
在本网站的上一个问题中已确定,这是因为服务器
在 Windows 中发送了错误的 MIME 类型,响应标头的内容类型为: Linux 中的“application/octet-stream”
响应头具有内容类型: 两种情况下使用的本地服务器的“image/svg+xml”
完全相同。
有谁知道我应该做什么来解决这个问题(换句话说,让 svg 使用正确的 mime 类型发送)? 我尝试使用 svg 文件中的元标记来指定没有帮助的内容。
tnx
编辑:
愚蠢的我,我真的需要学习如何更好地阅读文档。 类(simpleHTTPServer.simpleRequestHandler)有一个extension_map属性,它是一个将扩展映射到MIME类型的字典,这正是我所需要的
MODS,如果您想的话,请随意删除这个问题,
也感谢mikko为我带来的答案正确的道路
i have a created a simple http server in python (i haven't touched the do_GET function)
in linux (ubuntu) everything works fine
but in windows when i want to open the .svg file in firefox (so http://localhost:8000/editor.svg ) it asks me if i want to download it or save it.
it has been determined in a previous question on this site that it is because the server sends the wrong mime type
in windows the response header has content type:
'application/octet-stream'
in linux the response header has content type:
'image/svg+xml'
the local server used is exactly the same in both cases.
Does anyone know what i should do to fix this (in other words have the svg send with the correct mime type) ?
i've tried using the meta tag in the svg file to specify the content that doesn't help.
tnx
EDIT:
Silly me i really need to lean how to read the documentation better.
the the class (simpleHTTPServer.simpleRequestHandler) has an extension_map attribute that is a dictionary that maps extensions to MIME type this is exactly what i need
MODS feel free to delete this question if you want
also thank you to mikko for the answer it brought me to the right path
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要 mimetypes.add_type()。
http://docs.python.org/library/mimetypes.html
Linux 提供了系统-具有最新条目的广泛 mimetypes 配置。显然 Windows 没有。
You want mimetypes.add_type().
http://docs.python.org/library/mimetypes.html
Linux provides system-wide mimetypes configuration with up-to-date entries. Apparently Windows does not.