【问题标题】:ios URLSessionDataTask use resume with Dataios URLSessionDataTask 使用带有数据的简历
【发布时间】:2018-03-29 07:52:27
【问题描述】:

我正在使用 URLSessionDataTask 下载视频并播放它们(我需要缓存,所以我正在使用

func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data)

手动处理数据并提供给AVAssetResourceLoader)。

为了进行磁盘缓存,我必须将下载的数据保存到磁盘(终止应用程序时),这样当用户再次打开应用程序时,我可以继续下载数据。

我注意到它没有 downloadTask(withResumeData:) 之类的构造函数(URLSessionDownloadTask 的构造函数几乎是这样认为的,但它没有 func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) 函数 :D)。 现在我该如何将这两者结合起来? 谢谢你,很抱歉发了这么长的帖子

【问题讨论】:

    标签: ios nsurlsessiondownloadtask nsurlsessiondatatask urlsession


    【解决方案1】:

    您应该在请求中使用Range 标头。但是只有当服务器通过Accept-Ranges 响应标头通知您它接受范围请求时,您才可以使用它。 所以,如果服务器支持从偏移量加载你需要在创建URLRequest时添加下载的部分偏移量作为标题

    有关详细信息,请参阅 HTTP RFC 2616 中的 Range header specification

    【讨论】:

    • @user3703910,你是怎么做到的。我可以看看代码吗?谢谢
    • request.setValue("bytes=(dataLength)-", forHTTPHeaderField: "Range")
    猜你喜欢
    • 1970-01-01
    • 2012-02-07
    • 2014-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    相关资源
    最近更新 更多