IOS网络笔记--文件下载练习
2015-10-15 15:23
661 查看
申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
/*
下载文件思路
1.搭建UI布局(一个button)
2.在click上 发送请求
3.遵循协议 NSURLConnectionDataDelegate
4.实现协议方法 ...didReceiveResponse (初始化可变data)
...didReceiveData (data添加数据)
didReceiveData (把data的数据写进文件)
*/
附上练习demo:http://yunpan.cn/cFwMCnxKnG6vb (提取码:0ef7)
#pragma mark - 按钮点击方法
// 下载按钮点击方法
-(void)downloadClick
{
NSLog(@"点击了下载按钮");
// 模拟数据 (随便找的一张图片)
NSString *urlString = @"http://e.hiphotos.baidu.com/image/pic/item/eac4b74543a98226f33cdf208882b9014a90eb3c.jpg";
// 对于包含非标准格式url进行编码
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// 发送请求
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[NSURLConnection connectionWithRequest:request delegate:self];
}
#pragma mark - NSURLConnectionDataDelegate协议方法
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
// 初始化data
_data = [[NSMutableData alloc]init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
// data添加输入
[_data appendData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// data数据写成文件 保存在桌面
[_data writeToFile:@"/Users/myDesktop/Desktop/myUpload.jpg" atomically:YES];
}
/*
下载文件思路
1.搭建UI布局(一个button)
2.在click上 发送请求
3.遵循协议 NSURLConnectionDataDelegate
4.实现协议方法 ...didReceiveResponse (初始化可变data)
...didReceiveData (data添加数据)
didReceiveData (把data的数据写进文件)
*/
附上练习demo:http://yunpan.cn/cFwMCnxKnG6vb (提取码:0ef7)
#pragma mark - 按钮点击方法
// 下载按钮点击方法
-(void)downloadClick
{
NSLog(@"点击了下载按钮");
// 模拟数据 (随便找的一张图片)
NSString *urlString = @"http://e.hiphotos.baidu.com/image/pic/item/eac4b74543a98226f33cdf208882b9014a90eb3c.jpg";
// 对于包含非标准格式url进行编码
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// 发送请求
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
[NSURLConnection connectionWithRequest:request delegate:self];
}
#pragma mark - NSURLConnectionDataDelegate协议方法
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
{
// 初始化data
_data = [[NSMutableData alloc]init];
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
// data添加输入
[_data appendData:data];
}
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
// data数据写成文件 保存在桌面
[_data writeToFile:@"/Users/myDesktop/Desktop/myUpload.jpg" atomically:YES];
}
相关文章推荐
- 深入浅出 Cocoa 之 Bonjour 网络编程
- httpclient调用方法
- Okhttp的简单使用
- node.js中http.respone.end方法概述
- 转自:超全超详细的HTTP状态码
- 从网络获取数据的几种方法
- java使用siger 轻松获取本机硬件信息(CPU 内存 网络 io等)
- C/S结构网络开发与B/S结构网络开发认识
- 黑马程序员--网络编程
- Http协议与TCP协议简单理解(转)
- Http协议与TCP协议简单理解(转)
- Http与TCP/IP 协议的关系
- HttpClient使用方法(包括POST文件)
- http协议中get和post的区别(转)
- Android中Textview显示带html文本三-------【Textview显示网络图片】
- Mac OS X 跟新到10.11后cocoapods安装出现的问题(- bad response Not Found 404 (http://ruby.taobao.org/latest_spe)
- 【转】【阮一峰的网络日志】Git 使用规范流程
- Android中基于Http协议的网络通信的两种方法Get和Post
- vmware中的网络(bridge,nat)
- 《深入理解Linux网络技术内幕》阅读笔记(三十一)