【问题标题】:Support for partial file downloads using HTTP / REST支持使用 HTTP / REST 下载部分文件
【发布时间】:2019-09-15 20:20:03
【问题描述】:

我有一个客户端/服务器架构,其中客户端需要定期从服务器下载大文件。假设客户端下载了 9Gb 的 10Gb 文件,然后暂时失去了互联网连接。当客户端重新连接时,我希望客户端能够下载剩余的 1Gb 文件,而不需要从头开始重新下载所有内容。

是否有任何平台、库、框架等可以处理这个问题?如果没有,是否有人对如何最好地解决此问题有任何想法?

服务器/客户端技术

服务器 - Python / Django / Django REST 框架

客户端 - Android / iOS / c++

当前服务器代码

def post(self, request):
try:
    user = request.user
    file = MyFile.objects.filter(user_id=user)
    response = FileResponse(open(file.path, 'rb'))
    return response
except Exception as e:
    return Response({'status': str(e)}, content_type="application/json")

【问题讨论】:

    标签: django rest http django-rest-framework


    【解决方案1】:

    我没有尝试过,但您可以尝试在文件服务视图中实现范围标头支持并尝试一下。浏览器有可能默认发送标头。

    Chrome and range requests

    Sample PHP implementation

    HTTP range requests

    How to make range request

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 2012-11-22
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      相关资源
      最近更新 更多