NSURLRequest,NSURLConnection 下载
来源:互联网 发布:java 路径 编辑:程序博客网 时间:2024/05/29 13:19
记录下自己的练习:
没有断点续传,下次再做。只是简单的下载demo。
点击下载按钮
- (IBAction)selectDownLoadBtn:(id)sender { if (connection) { return; } NSURL *url = [NSURL URLWithString:DOWNLOAD]; NSMutableURLRequest *reqeust= [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; [reqeust setHTTPMethod:@"GET"]; connection = [[NSURLConnection alloc]initWithRequest:reqeust delegate:self]; if (connection) { mutableData = [[NSMutableData alloc]init]; }}
执行回调方法:主要有四个
#pragma mark-#pragma mark- NSURLConnectionDataDelegate- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ NSLog(@"response"); NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse*)response; if (httpResponse && [httpResponse respondsToSelector:@selector(allHeaderFields)]) { NSDictionary *httpResponseHeaderFields = [httpResponse allHeaderFields]; mFileSize = [httpResponseHeaderFields[@"Content-Length"] longLongValue];//获取文件的大小 }}- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ NSLog(@"data"); //接受数据,在接受完成之前会一直掉重复调用 [mutableData appendData:data]; //label的值 self.myLabel.text = [NSString stringWithFormat:@"%.f%@",([mutableData length]/(float)mFileSize)*100,@"%"]; //进度条 [self.myProgress setProgress:[mutableData length]/(float)mFileSize];}-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ NSLog(@"error = %@",error); //出错时调用 NSLog(@"Connection failed! Error - %@ %@", [error localizedDescription], [[error userInfo] objectForKey:NSURLErrorFailingURLStringErrorKey]);}-(void)connectionDidFinishLoading:(NSURLConnection *)connection{ NSLog(@"完成的时候调用"); NSString *filePath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:@"android.mp4"]; [mutableData writeToFile:filePath atomically:NO];//将数据写入Documents目录。 NSLog(@"%@",filePath);}
只是简单的去下载,没有去作别的操作.
0 0
- NSURLRequest,NSURLConnection 下载
- iOS网络下载三函数NSURLConnection/NSURLRequest/NSMutableData
- NSURLRequest和NSURLConnection的使用
- NSURL NSURLRequest NSURLConnection 数据请求
- NSURL 、NSURLRequest、NSURLConnection、NSURLSession、NSURLSessionDataTask
- 用NSURL NSURLRequest NSURLConnection http例子
- iOS-NSURLConnection、NSMutableURLRequest、NSURLRequest用法
- 简单使用NSURLConnection、NSURLRequest和NSURL
- iOS --- NSURLRequest 和 NSURLConnection 的网络操作
- iOS 网络请求接收数据流程 (NSURLRequest&NSURLConnection)
- iOS原生网络请求使用(NSURL,NSURLRequest/NSMutableURLRequest,NSURLConnection)
- ios- NSURLRequest缓存策略以及NSURLConnection发送异步请求
- NSURLRequest
- NSURLRequest
- NSURLRequest
- NSURLConnection 下载数据 -- IOS
- NSURLConnection 下载数据
- iOS NSURLCONNECTION下载进度条
- pgsql存储过程(实例)
- poj3252 round number
- Red Hat 6.3安装gcc gc++
- ASP.NET后台调用前台JS函数的三种常见方法
- FS_S5PC100平台上Android Camera架构分析
- NSURLRequest,NSURLConnection 下载
- ural 1772
- Intent 跳 Android Market
- ServletRequest使用方法
- mingw下ffmpeg编译添加x265支持
- 银屑病患者要小心下面这些会加重病情的药物
- 主流企业应用框架应包含那些内容
- CSS之图片的合并及使用
- poj1964 City Game(最大子矩阵)