iOS开发中文件的上传和下载功能的基本实现

2020-01-14 17:11:52于海丽

iOS开发中文件的上传和下载功能的基本实现

 

 

多线程断点下载
说明:本文介绍多线程断点下载。项目中使用了苹果自带的类,实现了同时开启多条线程下载一个较大的文件。因为实现过程较为复杂,所以下面贴出完整的代码。

实现思路:下载开始,创建一个和要下载的文件大小相同的文件(如果要下载的文件为100M,那么就在沙盒中创建一个100M的文件,然后计算每一段的下载量,开启多条线程下载各段的数据,分别写入对应的文件部分)。

iOS开发中文件的上传和下载功能的基本实现

项目中用到的主要类如下:

iOS开发中文件的上传和下载功能的基本实现

完成的实现代码如下:

主控制器中的代码:

复制代码
#import "YYViewController.h"
#import "YYFileMultiDownloader.h"

 

@interface YYViewController ()
@property (nonatomic, strong) YYFileMultiDownloader *fileMultiDownloader;
@end


复制代码
@implementation YYViewController
-  (YYFileMultiDownloader *)fileMultiDownloader
{
    if (!_fileMultiDownloader) {
        _fileMultiDownloader = [[YYFileMultiDownloader alloc] init];
        // 需要下载的文件远程URL
        _fileMultiDownloader.url = @"http://www.easck.com/MJServer/resources/jre.zip";