【问题标题】:How to resume downloads of large files in ios如何在ios中恢复大文件的下载
【发布时间】:2018-04-24 11:46:30
【问题描述】:

我正在使用 URLSession 的 downloadTask 下载一个大文件。我面临的问题是如何提供暂停和恢复功能。我已经读过使用 resumeData 取消 downloadTask 会返回 resumeData ,下次可以使用它来恢复下载。但是对于一个非常大的文件,这个 resumeData 可能非常大(我认为。取决于文件大小和下载暂停的阶段,它可能非常大)。我如何保存这个大的 resumeData 以便下次可以使用它来恢复下载。 还可以同时下载多个,同样的问题更加增加了。

【问题讨论】:

标签: ios nsurlsessiondownloadtask


【解决方案1】:

简历数据块包含实际接收到的数据。如果是这样,您将无法在 32 位架构上继续下载数 GB 的文件。

它包含的是一堆用于传输的元数据:

  • 磁盘上存储临时文件的 URL。
  • 指示提取何时开始的时间戳,以便它可以询问服务器文件从那时起是否已更改。
  • 请求 URL。
  • 请求标头集。
  • 可能是一些 UUID。

它可能只是磁盘上包含上述内容的元数据文件的 URL。我不确定是哪个。

无论哪种方式,您都不会获得数 GB 的 resumeData blob。那将是毁灭性的。下载任务的全部意义在于它下载到磁盘,而不是内存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 2016-11-02
    • 2017-05-17
    相关资源
    最近更新 更多