1. #import "ViewController.h"
  2.  
  3. @interface ViewController ()
  4. @property (strong, nonatomic) NSMutableData *data;
  5. @end
  6.  
  7. @implementation ViewController
  8.  
  9. - (void)viewDidLoad
  10. {
  11. [super viewDidLoad];
  12. // Do any additional setup after loading the view, typically from a nib.
  13. NSString *url = @"";
  14. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  15. NSURL *newUrl = [NSURL URLWithString:url];
  16.  
  17. NSURLRequest*request=[[NSURLRequest alloc]initWithURL:newUrl cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:100.0];//设置缓存和超时
  18.  
  19. NSURLConnection*connection=nil;
  20.  
  21. connection=[[NSURLConnection alloc]initWithRequest:request delegate:self startImmediately:YES];
  22. }
  23.  
  24. -(void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response
  25.  
  26. {//该方法在响应connection时调用
  27.  
  28. NSLog(@"response");
  29.  
  30. self.data=[[NSMutableData alloc]init];
  31.  
  32. NSHTTPURLResponse*httpResponse=(NSHTTPURLResponse*)response;
  33.  
  34. if(httpResponse&&[httpResponse respondsToSelector:@selector(allHeaderFields)]){
  35.  
  36. NSDictionary*httpResponseHeaderFields=[httpResponse allHeaderFields];
  37.  
  38. //mFileSize=[[httpResponseHeaderFields objectForKey:@"Content-Length"]longLongValue];
  39.  
  40. }//获取文件文件的大小
  41.  
  42. }
  43.  
  44. -(void)connection:(NSURLConnection*)connection didFailWithError:(NSError*)error
  45.  
  46. {//出错时调用
  47.  
  48. NSLog(@"error");
  49. }
  50.  
  51. -(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
  52.  
  53. {//接受数据,在接受完成之前,该方法重复调用
  54.  
  55. NSLog(@"receive");
  56.  
  57. [self.data appendData:data];
  58. //
  59. // _displayLabel.text=[NSString stringWithFormat:(@"%6.1fkb/%6.1fkb"),[_datalength]/1024.0,mFileSize/1024.0];
  60. //
  61. // [_progressViewsetProgress:[_datalength]/(float)mFileSize];
  62.  
  63. }
  64.  
  65. -(void)connectionDidFinishLoading:(NSURLConnection*)connection
  66.  
  67. {//完成时调用
  68.  
  69. NSLog(@"Finish");
  70.  
  71. NSString*filePath=[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:]stringByAppendingPathComponent:@"android.mp3"];
  72.  
  73. [_data writeToFile:filePath atomically:NO];//将数据写入Documents目录。
  74.  
  75. NSLog(@"%@",filePath);
  76.  
  77. }

iOS 下载的更多相关文章

  1. IOS下载查看PDF文件(有下载进度)

    IOS(object-c) 下载查看 PDF 其实还是蛮容易操作的.在下载前,首先要把 IOS 可以保存文件的目录给过一遍: IOS 文件保存目录 IOS 可以自定义写入的文件目录,是很有限的,只能是 ...

  2. iOS下载使用系统字体

    iOS下载使用系统字体 通用开发中一般使用系统默认的字体: 另外系统也提供了一些其他字体我们可以选择下载使用 1:在mac上打开 字体册 app 即可查找系统支持的字体,适用于ios上开发使用 从ma ...

  3. 原创 | 《地狱边境》登顶50国iOS下载榜,恐怖游戏或是独立开发者突破口(转)

    文/手游那点事 Jagger 与大厂强IP称霸的App Store畅销榜相比,付费榜一向是独立游戏的温床.高质量的独立游戏并不需要在推广营销中投入太多成本,依靠过硬的品质和口碑在付费榜中缓缓上升造就高 ...

  4. MCDownloader(iOS下载器)说明书

    示例 前言 很多iOS应用中都需要下载数据,并对这些下载的过程和结果进行管理,因此我才有了写这个MCDownloader的想法.在IOS 文件下载器-MCDownloadManager这篇文章中,我使 ...

  5. IOS 下载app

    ---------------------------------------------------------------------------------------------------- ...

  6. iOS下载图片失败

    一.具体问题 开发的过程中,发现某个界面部分图片的显示出现了问题只显示占位图片,取出图片的url在浏览器却是能打开的,各种尝试甚至找同行的朋友帮忙在他们项目里展示都会存在问题,最终发现通过第三方框架S ...

  7. iOS 下载功能:断点下载(暂停和开始)(NSURLConnectionDataDelegate方法)

    1,model文件代码 文件名称:HMFileDownloader.h #import <Foundation/Foundation.h> @interface HMFileDownloa ...

  8. vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接

    vue打包app嵌入h5,区分app进入和android,ios显示不同的下载链接 需求:自己app打开的登录页面不显示app下载链接.其他地方打开判断android手机的跳转到android下载页链 ...

  9. h5 js判断是安卓还是ios设备,跳转到对应的下载地址

    /*ios和安卓跳转 js*/$(function(){ var u = navigator.userAgent; var ua = navigator.userAgent.toLowerCase() ...

随机推荐

  1. jquery 设置checkbox选中 和获取选中值

    经常用到经常网上搜,这次写下来. 1,设置选中: $('#nrowid').prop('checked', false); 2,取选中项的值: $('#nrowid').prop("chec ...

  2. windows Service 2012 系统时间格式带中文

    C# 获取DataTime.Now   显示     2019年4月23日 下午 10:03:00 导致转换格式失败, 因为 源码中写的是   DataTime.Now.ToString();   输 ...

  3. Android studio 使用心得(六)—android studio 如何加载.so文件

    之前一直没怎么注意,以为.so文件android为像eclipse一样直接加载,但是直到昨天我在android studio上调试公司项目推送消息的时候,才发现,.so文件原来没有加载成功. 可能之前 ...

  4. STL容器分析--stack

    stack,顾名思义,表示栈,先进后出.

  5. yum安装Apache,Mysql,PHP

    用yum安装Apache,Mysql,PHP.  用yum安装Apache,Mysql,PHP. 2.1安装Apache yum install httpd httpd-devel 安装完成后,用/e ...

  6. [svc]rsyslog及logrotate小结

    [root@node1 logrotate.d]# ls dracut haproxy httpd mcelog nginx ppp psacct syslog yum yum install ngi ...

  7. android实现下拉框(spinner),自己定义大小颜色背景位置,去掉默认样式黑边

    1. 实现最简单的spinner xml文件,有一个TextView,一个Spinner: <RelativeLayout xmlns:android="http://schemas. ...

  8. sourceInsight设置

    复制后光标定格在行尾 Options -> Preferences -> Typing -> After pasting,select:at end of pasted text t ...

  9. Jmeter常用操作

    一,Jmeter-http 接口脚本添加cookie 实例:学生金币充值接口  该接口有权限验证,需要admin 用户才可以操作,需要添加cookie cookie 中key 为登录的用户名,valu ...

  10. poj 3617 Best Cow Line (字符串反转贪心算法)

    Best Cow Line Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9284   Accepted: 2826 Des ...