iOS开发之网络编程--文件下载

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS开发之网络编程--文件下载相关的知识,希望对你有一定的参考价值。

文件下载方式:

  • 如果下载的文件比较小,下载方式:

    • 直接用NSData的 +(id)dataWithContentsOfURL:(NSURL*)url;
    • 利用NSURLConnection发送一个HTTP请求去下载
    • 如果是下载图片,还可以利用SDWebImage框架(本文这里不描述)
  • 如果下载的文件比较大,下载方式:

    • 使用NSConnectionDataDelegate代理方法
    • 建议使用NSURLSession或者第三方框架(本文这里不描述)

代码示例:

  先给出用来做代码练习的API接口

  小图片:http://img2.duitang.com/uploads/blog/201310/18/20131018213446smUw4.thumb.7000.jpeg

  MP4小视频:http://120.25.226.186:32812/resources/videos/minion_03.mp4

  

   1、下面展示一下下载小图片这样小文件的两种方式:

技术分享

  对于第二种通过NSURLConnection的异步请求的方式也可以请求稍大一些的文件,比如MP4小视频文件,但是因为文件比较大,所以会出现等好久才会得到结果,其实就是

  出现了阻塞,因为是异步请求,所以不会影响主线程,如果用的是同步请求,那就会影响主线程喽。你可以试试,这里就不出源码了。

  2、再接下来介绍一下如何使用NSURLConnectionDataDelegate代理方法来对这个MP4小视频稍大一些的文件

技术分享

  同时展示一下打印结果:

 技术分享

 源码百度云分享链接: http://pan.baidu.com/s/1jHycCIU 密码: 9kum

以上是关于iOS开发之网络编程--文件下载的主要内容,如果未能解决你的问题,请参考以下文章

iOS多线程与网络开发之多线程概述

iOS多线程与网络开发之解析json数据

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

iOS多线程与网络开发之多线程NSThread

IOS开发-OC学习-常用功能代码片段整理

面向面试编程代码片段之GC