如何在ios中继续下载大文件

如何在ios中继续下载大文件,ios,nsurlsessiondownloadtask,Ios,Nsurlsessiondownloadtask,我正在使用URLSession的downloadTask下载一个大文件。我面临的问题是如何提供暂停和恢复功能。我已经读到用resumeData取消下载任务会返回resumeData,下次可以使用它继续下载。但对于一个非常大的文件,这个简历数据可能非常大(我认为,这取决于文件大小以及下载暂停的阶段)。我如何保存这些大的简历数据,以便下次可以使用它继续下载。 同时也可能有多个下载,这会使同一问题更加严重。简历数据blob不包含实际收到的数据。如果是这样的话,您将无法在32位体系结构上继续下载数千兆字

我正在使用URLSession的downloadTask下载一个大文件。我面临的问题是如何提供暂停和恢复功能。我已经读到用resumeData取消下载任务会返回resumeData,下次可以使用它继续下载。但对于一个非常大的文件,这个简历数据可能非常大(我认为,这取决于文件大小以及下载暂停的阶段)。我如何保存这些大的简历数据,以便下次可以使用它继续下载。
同时也可能有多个下载,这会使同一问题更加严重。

简历数据blob不包含实际收到的数据。如果是这样的话,您将无法在32位体系结构上继续下载数千兆字节的文件

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

  • 存储临时文件的磁盘上的URL
  • 一个时间戳,指示提取开始的时间,以便它可以询问服务器从那时起文件是否已更改
  • 请求URL
  • 请求头的集合
  • 可能是一些uuid
它可能只是磁盘上包含上述内容的元数据文件的URL。我不知道是哪个

无论哪种方式,您都不会得到一个数千兆字节的
resumeData
blob。那将是毁灭性的。下载任务的关键在于它下载到磁盘,而不是内存