NSURLSession实现下载(不能看到下载进度)

NSURLSession实现下载(不能看到下载进度)

/**


下载任务:不能看到下载进度

*/

- (void)downloadTask

{

// 1.得到session对象

NSURLSession *session = [NSURLSession
sharedSession];

// 2.创建一个下载task

NSURL *url = [NSURL
URLWithString:@"http://localhost:8080/MJServer/resources/test.mp4"];

NSURLSessionDownloadTask
*task = [session
downloadTaskWithURL:url
completionHandler:^(NSURL
*location,
NSURLResponse *response,

NSError *error) {

// location :
临时文件的路径(下载好的文件)

NSString *caches = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,
NSUserDomainMask,

YES)
lastObject];

// response.suggestedFilename

建议使用的文件名,一般跟服务器端的文件名一致

NSString *file = [caches
stringByAppendingPathComponent:response.suggestedFilename];

//
将临时文件剪切或者复制Caches文件夹

NSFileManager *mgr = [NSFileManager
defaultManager];

// AtPath :
剪切前的文件路径

// ToPath :
剪切后的文件路径

[mgr
moveItemAtPath:location.path
toPath:file
error:nil];

}];

// 3.开始任务

[task
resume];

}

注意:

NSURLSessionDownloadTask下载完成之后,将数据保存在沙盒里面的tmp临时文件中,需要将临时文件将临时文件剪切或者复制Caches文件夹。

时间: 2024-09-29 09:34:02

NSURLSession实现下载(不能看到下载进度)的相关文章

iOS开发——网络Swift篇&NSURLSession加载数据、下载、上传文件

NSURLSession加载数据.下载.上传文件 NSURLSession类支持三种类型的任务:加载数据.下载和上传.下面通过样例分别进行介绍. 1,使用Data Task加载数据 使用全局的sharedSession()和dataTaskWithRequest方法创建. 1 func sessionLoadData(){ 2 //创建NSURL对象 3 let urlString:String="http://hangge.com" 4 var url:NSURL! = NSURL(

Swift - 使用NSURLSession加载数据、下载、上传文件

NSURLSession类支持三种类型的任务:加载数据.下载和上传.下面通过样例分别进行介绍. 1,使用Data Task加载数据 使用全局的sharedSession()和dataTaskWithRequest方法创建. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 func sessionLoadData(){     //创建NSURL对象     let urlString:String="http://hangg

使用 NSURLSession 开发一个支持后台下载和断点续传的下载工具

NSURLSession 是 iOS 系统提供给我们的原生网络操作库,它提供了网络操作相关的一系列特性支持,比如缓存控制,Cookie管理,HTTP 认证处理等等,是一套整体的网络操作处理解决方案. 关于 NSURLSession 的基本特性,我们之前的一篇文章 NSURLSession 网络库 - 原生系统送给我们的礼物 有过详细的介绍,如果大家之前没有使用过这个库,可以先参考一下这篇内容. 这次我们不介绍任何 NSURLSession 的基础概念,我们将以一个实际的下载工具 APP 开发来实

ios开发视频播放后台下载功能实现 :1,ios播放视频 ,包含基于AVPlayer播放器,2,实现下载,iOS后台下载(多任务同时下载,单任务下载,下载进度,下载百分比,文件大小,下载状态)(真机调试功能正常)

ABBPlayerKit ios开发视频播放后台下载功能实现 : 代码下载地址:https://github.com/niexiaobo/ABBPlayerKit github资料学习和下载地址:https://github.com/niexiaobo/ 实现功能 :播放视频 ,视频后台下载 (真机调试功能正常) 1.使用ZFPlayer播放视频(可以在线和本地播放,基于AVPlayer,调节音量和屏幕亮度) 2.使用 WHCNetWorkKit 实现下载,后台下载(多任务同时下载,单任务下载,

封装了okhttp的网络框架,支持大文件上传下载,上传进度...

本帖最后由 anjoy紫外线 于 2016-4-20 16:42 编辑   1.用法 对于Eclipse不能运行项目的,提供了apk供直接运行,位于项目根目录 okhttputils_v1.x.x.apk. 本项目Demo的网络请求是我自己的服务器,有时候可能不稳定,网速比较慢时请耐心等待.. 对于Android Studio的用户,可以选择添加: compile 'com.lzy.net:okhttputils:1.3.0'  //可以单独使用,不需要依赖下方的扩展包    compile'c

实现在 .net 中使用 HttpClient 下载文件时显示进度

原文:实现在 .net 中使用 HttpClient 下载文件时显示进度 在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebClient 并不包含在 .net standard 当中.在 .net standard 中,要进行 http 网络请求,我们用得更多的是 HttpClient.另外还要注意的是,UWP 中也有一个 HttpClient,虽然

百度云盘免下载百度云盘全速下载方法

使用百度云盘的时候,总是会遇到需要下载百度云盘才能下载里面的大内容文件.但是该怎么去除这个限制呢?网上一大堆方法都已经无法使用了.但是现在还真有一个方法可以使用,那就是在地址栏中复制云盘的文件地址,然后找个地方粘贴到地址栏里,在http后面加以个s,即https://..... 然后就可以使用了. 然后下载就可以不用下载百度云盘了.哈哈.有了地址就可以用IDM下载了.也可以迅雷下载!

详解Mobile Atlas Creator1.9.16离线地图下载神器之下载自定义图源

Mobile Atlas Creator1.9.16离线地图下载神器之下载自定义图源 本文详细的介绍了如何使用Mobile Atlas Creator来下载自定义图源,Mobile Atlas Creator是用于下载图源的工具,本文测试的是高德地图,其他地图也差不多类似. 1.关于Mobile Atlas Creator的介绍 Mobile Atlas Creator是用于下载图源的工具,此工具免费,相信大家也找过不少相关的软件,但是大多数都是收费的.很多制作手机离线地图的朋友也会用到此工具来

专业定制下载系统网站/下载网站源码,资源下载网站源码

10年的技术团队专业定制下载系统网站/下载网站源码,资源下载网站平台定制 该下载系统由绿茶科技团队自主开发,系统采用了国内比较主流的thinkPHP框架实现的,数据库用MySQL.是一套致力于软件应用,工具游戏,视频小说,教程资讯等通用资源下载的下载系统整站源码.模版设计整洁.清爽,广告位布局合理.会员积分体系完善,支持用户上传分享免费.收费资源. 下载收益支持用户提现. 分享有收益,刺激用户上传扩充网站资源,实现商家与平台联和共盈. PC版: 手机版: 服务器选择:  服务器购买地址:http