博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NSURLsession大文件下载
阅读量:7123 次
发布时间:2019-06-28

本文共 2920 字,大约阅读时间需要 9 分钟。

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #ffffff}p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #ffffff; min-height: 21.0px}p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px 'PingFang SC'; color: #4cbf57}p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #00afca}p.p5 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #4cbf57}p.p6 {margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #d28f5a}span.s1 {font-variant-ligatures: no-common-ligatures}span.s2 {font-variant-ligatures: no-common-ligatures; color: #c2349b}span.s3 {font-variant-ligatures: no-common-ligatures; color: #00afca}span.s4 {font-variant-ligatures: no-common-ligatures; color: #93c86a}span.s5 {font: 18.0px Menlo; font-variant-ligatures: no-common-ligatures; color: #ffffff}span.s6 {font: 18.0px Menlo; font-variant-ligatures: no-common-ligatures}span.s7 {font-variant-ligatures: no-common-ligatures; color: #ffffff}span.s8 {font: 18.0px 'PingFang SC'; font-variant-ligatures: no-common-ligatures}span.s9 {font-variant-ligatures: no-common-ligatures; color: #e44448}-(void)touchesBegan:(NSSet
*)touches withEvent:(UIEvent *)event{    [self download];}-(void)download{    //获取NSURLSession的对象(为了获取下载进度,使用这个方法,执行代理方法,记得遵循代理方法)    NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration] delegate:self delegateQueue:[[NSOperationQueue alloc] init]];    //获取下载任务    NSURLSessionDownloadTask *task = [session downloadTaskWithURL:[NSURL URLWithString:@""]];    //启动下载任务    [task resume];}#pragma mark -- NSURLSessionDownloadDelegate代理方法 ---(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error{}//继续下载-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didResumeAtOffset:(int64_t)fileOffset expectedTotalBytes:(int64_t)expectedTotalBytes{}/** *  正在下载(每当写入临时文件时就调用一次) *  @param bytesWritten              这次写入多少 *  @param totalBytesWritten         已经写入大小 *  @param totalBytesExpectedToWrite 总大小 */-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{}//下载完毕的时候调用一次-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location{    //文件将来存放的真是路径    NSString *file = [[NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)lastObject] stringByAppendingPathComponent:downloadTask.response.suggestedFilename];    //剪切文件到真是路径    NSFileManager *mager = [NSFileManager defaultManager];        [mager moveItemAtURL:location toURL:[NSURL fileURLWithPath:file] error:nil];    }复制代码

转载于:https://juejin.im/post/5a311bc7f265da4322413288

你可能感兴趣的文章
sass安装
查看>>
用Delphi 实现WebService
查看>>
解决Jenkins创建Docker Image后无法推送到私有Registry的问题
查看>>
杭州公交与云计算的邂逅 #科技有温度#
查看>>
深度解析 | 为什么美国断网?下一个会是中国吗?
查看>>
衡量数据中心好坏标准的隐性指标
查看>>
数据中心新的自动化运维技术
查看>>
物联网跑太快 通用标准却跟不上
查看>>
设计师该如何学习前端?
查看>>
七牛观察|虚拟现实元年,云能做什么?
查看>>
将门CTO沈强:人工智能时代,技术创新将全面引爆商业变革
查看>>
C语言核心之数组和指针详解
查看>>
当无线通信正式成为战略能源:5G时代的蝴蝶振翅
查看>>
在Linux终端中自定义Bash配色和提示内容
查看>>
超声波追踪技术可以暴露Tor用户的真实信息
查看>>
不是供电中断 而是网络攻击让达美航空停航
查看>>
以大数据为中心整合优势资源 全国首个“新媒体小镇”落户天津静海
查看>>
《Visual C++数字图像模式识别技术详解(第2版)》一2.1 Visual C++编程方法
查看>>
《企业级ios应用开发实战》一第3章 Objective-C 语法简介
查看>>
微软推出的一个帮助iOS开发人员将应用移植到UWP的工具
查看>>