本地 python simple http erver 在 Windows 中发送错误的 mime 类型,但在 linux 中则不会发送错误的 mime 类型 for.svg

发布于 2024-12-02 16:49:36 字数 694 浏览 1 评论 0原文

我在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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

↙厌世 2024-12-09 16:49:36

您需要 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文