NSURLSession无法实现断点续传下载的问题解决
来源:互联网 发布:手机淘宝复原聊天记录 编辑:程序博客网 时间:2024/05/22 14:34
最近在做一个类似网盘的项目,需要实现文件的上传和下载。
我自己用NSURLSession封装了一个下载工具类来使用,但是遇到了无法断点下载的问题。我们先来看看NSURLSession的暂停方法。
[task cancelByProducingResumeData:^(NSData * _Nullable resumeData) { self.suspendBlock = suspend; if (suspend) { self.suspendBlock(resumeData); } }];NSURLSession是利用NSURLSessionDownloadTask 来调用一个暂停方法,这个方法会返回一个data数据,这个数据包含了文件已下载部分的信息,我们在断点续传的时候只需要利用这个data就可以了。
NSURLSessionDownloadTask *task = [self.session downloadTaskWithResumeData:resumeData]; [task resume];我发现在我执行暂停的时候拿到的这个data是空的,这就是无法断点续传的原因,那么为什么是空的呢? 我查阅了苹果的官方文档
官方文档里表示必须要满足这些条件才能实现断点续传下载,问题最可能出现在第三条。 果然,我拿到的服务器响应头里并没有这两个参数
所以我猜想,NSURLSession应该是利用Etag或Last-modified来记录已下载的进度来实现断点续传。
最后,让服务器在响应头里加上这两个参数,问题完美解决。
0 0
- NSURLSession无法实现断点续传下载的问题解决
- iOS - NSURLSession实现断点续传下载
- iOS开发 - NSURLSession实现断点续传下载
- NSURLSession下载的断点续传以及实…
- NSURLSession下载和断点续传
- NSURLSession下载(断点续传)
- NSURLSession下载之断点续传
- NSURLConnection,NSURLSession断点续传的实现以及对比
- NSURLSession实现断点续传
- NSURLSession实现断点续传
- ios断点续传:通过NSURLSession实现文件下载功能
- NSURLSession下载文件—断点续传
- NSURLSession下载文件—断点续传
- 网络:NSURLSession 的断点续传
- 关于NSURLSession在下载失败后的断点续传
- 断点续传下载的实现
- NSURLSession的使用和用其实现断点续传
- NSURLSession用法示例及断点续传视频的实现
- 2016年倒计时开始
- androidStudio快捷键
- 网络互联杂项
- LUA初学文章链接就在这里
- 字符串空格替换问题
- NSURLSession无法实现断点续传下载的问题解决
- 避免ViewStub重复填充
- 字符串切分遇到的问题
- http错误解析
- 【Oracle】PLSQL连接ORA-01034、ORA-27101、Linux-x86_64 Error
- 希尔排序-shellSort java实现
- Android 触摸屏手势识别资料汇总
- 用Eclipse 来导入android 工程 总结
- First Bad Version 第一个坏版本