首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏正则

    AFNetworking源码探究(八) —— AFURLSessionManager(4)

    . - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL didCompleteWithError: will * still be called. */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask notify the delegate of download progress. */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask ---- 3. - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask _t)expectedTotalBytes; 看一下AFN中该方法的实现 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    70060发布于 2021-09-02
  • 来自专栏JusterZhu

    MASA MAUI iOS 文件下载与断点续传

    文章目录 背景 介绍 方案及代码 1、新建MAUI项目 2、建立NSUrlSession会话连接 3、使用NSUrlSessionDownloadTask 创建下载任务 4、DidWriteData 监听下载 本文我们借助NSUrlSession中的NSUrlSessionDownloadTask来创建下载任务。下载任务直接将服务器的响应数据写入临时文件,在数据从服务器到达时为应用提供进度更新。 注意:无论下载多少文件,我们只需要初始化一个URLSession 3、使用NSUrlSessionDownloadTask 创建下载任务 这里我们使用 NSUrlSessionDownloadTask 在此之前我们需要调整 StartDownload 方法,将文件下载任务NSUrlSessionDownloadTask 存起来,用户后续恢复下载。 关于NSURLSessionDownloadTask 更多的内容请参考官方文档 https://developer.apple.com/documentation/foundation/nsurlsessiondownloadtask

    57310编辑于 2023-12-06
  • 来自专栏Timhbw博客

    NSURLSession与NSURLConnection区别

    2017-05-0217:47:05 发表评论 425℃热度 使用现状 普通任务和上传 下载任务方式 请求方法的控制 断点续传的方式 配置信息 NSURLSessionDataTask NSURLSessionDownloadTask 从这些方法中得知,分别返回了NSURLSessionDataTask、NSURLSessionUploadTask、NSURLSessionDownloadTask,NSURLSessionStreamTask NSURLSessionDownloadTask在下载文件的时候,是将数据一点点地写入本地的临时文件。 所以在 completionHandler 这个 block 里,我们需要把文件从一个临时地址移动到一个永久的地址保存起来: /**  *  NSURLSessionDownloadTask 下载任务 下载完成调用 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask

    1.9K60发布于 2018-05-03
  • 来自专栏程序员充电站(itcharge)

    iOS网络--『文件下载、断点下载』的实现(二):NSURLSession

    再创建一个下载任务类NSURLSessionDownloadTask类,将session加入到下载任务中。 开启下载任务。 其中,开启下载任务后,NSURLSessionDownloadTask默认就会将数据一点点写入本地沙盒的临时文件(tmp)中。这些原本需要我们自己做的任务苹果默认都帮助我们做好了。 但是,由于NSURLSessionDownloadTask写入的是本地沙盒的临时文件中,所以我们需要在临时文件下载之后,即在NSURLSessionDownloadTask的completionHandler 而且NSURLSession还有一个方法- (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData;,可以利用上次停止下载的 这里使用了NSURLSessionDownloadTask完成离线下载。但是NSURLSessionDownloadTask会自动将文件下载到了tmp临时文件中。

    2.6K50发布于 2018-05-31
  • 来自专栏云原生布道专栏

    IOS开发系列——NSUrlSession专题

    NSURLSession和NSURLSessionConfiguration,以及3个NSURLSessionTask的子类:NSURLSessionDataTask,NSURLSessionUploadTask,和NSURLSessionDownloadTask NSURLSessionDownloadTask:这个task的主要用途是进行文件下载,它针对大文件的网络请求做了更多的处理,比如下载进度,断点续传等等。 下载任务支持断点续传,第三种方式是通过之前已经下载的数据来创建下载任务: -(NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request; -(NSURLSessionDownloadTask *)downloadTaskWithURL:(NSURL *)url; -(NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData; 同样地可以通过completionHandler指定任务完成后的回调代码块: -(NSURLSessionDownloadTask

    1K30编辑于 2023-10-11
  • 来自专栏iOS技术杂谈

    iOS网络——AFNetworking AFURLSessionManager源码解析

    *> *uploadTasks; //前面那个session管理的download task的集合 @property (readonly, nonatomic, strong) NSArray <NSURLSessionDownloadTask -------------------- /// @name Running Download Tasks ///----------------------------- //构造下载任务 - (NSURLSessionDownloadTask void)setDownloadTaskDidFinishDownloadingBlock:(nullable NSURL * _Nullable (^)(NSURLSession *session, NSURLSessionDownloadTask NSURL *location); typedef void (^AFURLSessionDownloadTaskDidWriteDataBlock)(NSURLSession *session, NSURLSessionDownloadTask //下载任务下载文件完成后的回调方法 - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    4.8K70发布于 2018-04-10
  • 来自专栏iOS开发~

    iOS_NSURLSession从网络上下载资源,此程序下载的是视频

    根据职能不同Task有三种 // (1)NSURLSessionUploadTask: 上传用的Task, 传完以后不会再下载返回结果 // (2)NSURLSessionDownloadTask *****************/ #pragma mark 下载完成后调用的方法 -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask param totalBytesExpectedToWrite 文件总大小 */ -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    60330编辑于 2022-07-20
  • 来自专栏云原生布道专栏

    【IOS】总结-AFNetworking学习笔记

    The file * will be removedautomatically. */ - (NSURLSessionDownloadTask *)downloadTaskWithRequest:( downloadTask:(NSURLSessionDownloadTask *)downloadTask 4. downloadTask:(NSURLSessionDownloadTask *)downloadTask 4. 对象的方法 /** Creates an `NSURLSessionDownloadTask`with the specified request. 对象的方法 /** Creates an`NSURLSessionDownloadTask` with the specified resume data.

    1.9K30编辑于 2022-03-08
  • 来自专栏陈满iOS

    iOS开发·由SDWebImage引发的知识点聚合与思考(最新呕心沥血之作)

    断点续传的关键API: - (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData;, 可以利用上次停止前已下载好的 NSURLSession对象 NSURLSession *session = [NSURLSession sharedSession]; // 创建下载任务,其中location为下载的临时文件路径 NSURLSessionDownloadTask defaultSessionConfiguration] delegate:self delegateQueue:[NSOperationQueue mainQueue]]; // 创建任务 NSURLSessionDownloadTask @param totalBytesExpectedToWrite 文件总大小 */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask totalBytesExpectedToWrite]; } /** * 恢复下载后调用 */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    2.3K40发布于 2018-09-10
  • 来自专栏正则

    AFNetworking源码探究(四) —— GET请求实现之代理转发思想

    AFURLSessionDataTaskDidBecomeDownloadTaskBlock)(NSURLSession *session, NSURLSessionDataTask *dataTask, NSURLSessionDownloadTask proposedResponse); typedef NSURL * (^AFURLSessionDownloadTaskDidFinishDownloadingBlock)(NSURLSession *session, NSURLSessionDownloadTask NSURL *location); typedef void (^AFURLSessionDownloadTaskDidWriteDataBlock)(NSURLSession *session, NSURLSessionDownloadTask totalBytesExpectedToWrite); typedef void (^AFURLSessionDownloadTaskDidResumeBlock)(NSURLSession *session, NSURLSessionDownloadTask

    52920发布于 2021-09-02
  • 来自专栏正则

    AFNetworking源码探究(七) —— AFURLSessionManager(3)

    URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didBecomeDownloadTask:(NSURLSessionDownloadTask session dataTask:(NSURLSessionDataTask *)dataTask didBecomeDownloadTask:(NSURLSessionDownloadTask :(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didBecomeDownloadTask:(NSURLSessionDownloadTask

    71740发布于 2021-09-02
  • 来自专栏正则

    AFNetworking源码探究(二十四) —— UIKit相关之UIProgressView+AFNetworking分类

    . */ - (void)setProgressWithDownloadProgressOfTask:(NSURLSessionDownloadTask *)task NSURLSessionUploadTask : NSURLSessionDataTask @interface NSURLSessionDataTask : NSURLSessionTask // 下载 @interface NSURLSessionDownloadTask 下载任务 - (void)setProgressWithDownloadProgressOfTask:(NSURLSessionDownloadTask *)task

    35731发布于 2021-09-03
  • 来自专栏Helloted

    源码分析之AFNetworking(二)

    NSURLRequest *)request; - (NSURLSessionUploadTask *)uploadTaskWithStreamedRequest:(NSURLRequest *)request; - (NSURLSessionDownloadTask to NSURLSessionUploadTasks. */ @interface NSURLSessionUploadTask : NSURLSessionDataTask @end /* * NSURLSessionDownloadTask is a task that represents a download to * local storage. */ @interface NSURLSessionDownloadTask :

    54510编辑于 2022-06-07
  • 来自专栏一“技”之长

    iOS网络编程之二——NSURLSession的简单使用

    downloadTaskWithRequest:request]resume]; 在下面的回调方法中可以进行下载进度的监听: - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask @",error); } //此方法只有下载成功才会调用 文件放在location位置 -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    1.2K20发布于 2018-08-16
  • 来自专栏DannyHoo的专栏

    NSURLConnection被放弃之后使用NSURLSession

    解析服务器返回数据 NSLog(@"%@", [[NSString alloc] initWithData:self.dataM encoding:NSUTF8StringEncoding]); } NSURLSessionDownloadTask NSURLSession *session = [NSURLSession sharedSession]; //创建会话请求 //优点:该方法内部已经完成了边接收数据边写沙盒的操作,解决了内存飙升的问题 NSURLSessionDownloadTask

    54520发布于 2018-09-13
  • 来自专栏xx_Cc的学习总结专栏

    iOS-网络编程(二)文件上传和断点离线下载

    NSURLSessionDownloadTask实现断点下载 NSURLSession给提供了专用用来下载的Task,NSURLSessionDownloadTask,使用NSURLSessionDownloadTask NSURLSessionDownloadTask的创建 NSURLSession *session = [NSURLSession sessionWithConfiguration:[NSURLSessionConfiguration ; NSURL *url = [NSURL URLWithString:@"http://120.25.226.186:32812/resources/videos/minion_03.mp4"]; NSURLSessionDownloadTask *downLoadTask = [session downloadTaskWithURL:url]; NSURLSessionDownloadTask也提供了一些方法 //这个方法可以拿到恢复下载需要的数据 /totalBytesExpectedToWrite } // 2.恢复下载的时候调用 -(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    2.7K80发布于 2018-05-10
  • 来自专栏iOSer成长记录

    AFNetworking 源码阅读(v3.2.1)

    Nullable responseObject, NSError * _Nullable error))completionHandler; // 下面2个是DownloadTask相关的方法 - (NSURLSessionDownloadTask location))block; - (void)setDownloadTaskDidWriteDataBlock:(nullable void (^)(NSURLSession *session, NSURLSessionDownloadTask // - (NSURLSessionUploadTask *)uploadTaskWithStreamedRequest:(NSURLRequest *)request; // - (NSURLSessionDownloadTask *)downloadTaskWithRequest:(NSURLRequest *)request; // - (NSURLSessionDownloadTask *)downloadTaskWithURL :(NSURL *)url; // - (NSURLSessionDownloadTask *)downloadTaskWithResumeData:(NSData *)resumeData

    2.5K20发布于 2018-07-05
  • 来自专栏iOS逆向与安全

    iOS小技能:文件上传和下载(断点下载、断点续传)

    . */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask notify the delegate of download progress. */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask key, whose value is the resume * data. */ - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    1.9K20编辑于 2022-08-22
  • 来自专栏正则

    share extension

    property (strong, nonatomic, readonly) NSURLSession *backgroundSession; @property (strong, nonatomic) NSURLSessionDownloadTask strneed];     } return strneed; } 获取图片回调  - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask

    1.2K30发布于 2021-05-11
  • 来自专栏移动端开发

    NSURLSession 所有的都在这里(二)

    1、NSURLRequest       2、NSURLSession 3、NSURLSessionTask 以及它的三个子类:NSURLSessionDataTask/NSURLSessionDownloadTask macos); */ /* 下面是Task解析 NSURLSessionTask是一个抽象子类,它有三个子类:NSURLSessionDataTask,NSURLSessionUploadTask和NSURLSessionDownloadTask URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didBecomeDownloadTask:(NSURLSessionDownloadTask notify the delegate of download progress. - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask - (void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask

    2.3K30发布于 2018-05-28
领券