iOS 中的下载实现

下载功能是ios 开发中必须掌握的一个功能,今天简单的介绍一下下载功能的实现;

下载功能的实现

每次下载的字节数是在分段下载的时候用到的;大小根据你要下载的资源大小自行确定

本文以下载图片为例:

下载的方法,里面注释掉的while循环是在分段下载的时候会用到的,如果需要分段下载,就按照下面的算法将文件分段下载并且对url进行了加密,他能保证每次产生的文件都不同,如果不了解MD5,将它注掉即可;在下载的时候最好使用多线程,如下图

对URl进行加密,因为你看到的会少文件,如果你不会加密,这段代码就可以删掉

5.下载方法:


1,我们既然要下载,就必须有一个URL,并且先获取到资源的大小,只有获取到文件的大小,我们才能确定下载数据大小,如果在下载下来的资源和源资源大小不一致,文件极容易损坏

2.下载字节范围内的数据包 ,如果不是分段下载,则一次下载完成,调用appendData方法写入文件,如果需要分段下载,就要追加文件;(追加的方法在本方法下面的appendData方法)

3,创建文件并且写入,如果是分段下载需要追加,就将下面注释掉的else后面的代码打开

//4.获取本地文件信息,在上面的下载方法里面调用做判断,是为了避免重复下载,只要我们下载了并且写入了文件,在下次运行前我们做判断;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,735评论 2 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 218.241.181.202 wxhl60 123456 192.168.10.253 wxhl66 wxhl6...
    CYC666阅读 1,464评论 0 6
  • 使用NSURLConnection实现下载 1. 小文件下载 第一种方式(NSData) 第二种方式(NSURLC...
    搁浅的青蛙阅读 1,981评论 3 10
  • 1. 辛云飞盘腿坐在沙发前的地板上,飞快的敲着键盘,本该在公司做的报表,都拿了回来。 比熊犬仔仔睡在云飞脚边,茶几...
    微风徐徐xp阅读 643评论 0 1