【问题标题】:Streaming a zip file in Python3在 Python3 中流式传输 zip 文件
【发布时间】:2021-03-15 15:56:01
【问题描述】:

在我的 Django 项目中,我需要将大型 zip 文件发送给用户以供他们下载。 这些文件有时可以达到 10Gb。

这些文件已经是 zip 格式,我不想提取它们。

相反,我想一次发送 100mb 的文件,等待前端接收它们,然后请求下一个 100mb,直到文件被完全读取。我可以在前端处理收集和下载,但是如何在 Django 中执行此请求?

免责声明:我是一名前端开发人员,对 python 非常陌生。

【问题讨论】:

    标签: python django streaming zipfile


    【解决方案1】:

    你试过https://github.com/travcunn/django-zip-stream吗?它看起来像您可能正在寻找的东西。

    示例用例:

    from django_zip_stream.responses import TransferZipResponse
    
    def download_zip(request):
        # Files are located at /home/travis but Nginx is configured to serve from /data
        files = [
           ("/chicago.jpg", "/data/home/travis/chicago.jpg", 4096),
           ("/portland.jpg", "/data//home/travis/portland.jpg", 4096),
        ]
        return TransferZipResponse(filename='download.zip', files=files)
    

    【讨论】:

      猜你喜欢
      • 2017-07-23
      • 1970-01-01
      • 2010-10-12
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      • 2021-03-18
      相关资源
      最近更新 更多