Python 服务器在 GET 上返回文件的问题



我创建了一个简单的线程python服务器,我有两个格式参数,一个是JSON(返回字符串数据),另一个是zip。 当用户选择 format=zip 作为输入参数之一时,我需要服务器将 zip 文件返回给用户。 我应该如何将文件返回给服务器 do_GET() 上的用户? 我是只返回可以下载文件的 URL,还是可以直接将文件发回给用户? 如果选项二是可能的,我该怎么做?

谢谢

您应该直接将文件发送回用户,并添加具有正确媒体类型的 Content-Type 标头,例如 application/zip

因此,标题可能如下所示:

Content-Type: application/zip

问题是在尝试返回 zipfile 对象之前我没有关闭它。 文件似乎有锁。

要使用 GET 从简单的 http python 服务器返回 zip 文件,您需要执行以下操作:

  1. 将标题设置为"应用程序/压缩"

    self.send_header("Content-type:", "application/zip")

  2. 使用 zip 文件
  3. 模块创建 zip 文件

  4. 使用
  5. 文件路径(例如:c:/temp/zipfile.zip)使用"rb"方法打开文件以读取二进制信息

    openObj = open( < path > , 'rb')

  6. 将对象返回到浏览器

    openObj.close() del openObj self.wfile.write(openObj.read())

    仅此而已。谢谢大家的帮助。

相关内容

  • 没有找到相关文章

最新更新