申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨
/*
下载文件思路
1.搭建UI布局(一个button)
2.在click上 发送请求
3.遵循协议 NSURLConnectionDataDelegate
4.实现协议方法 ...didReceiveResponse (初始化可变data)
...didReceiveData (data添加数据)
didReceiveData (把data的数据写进文件)
*/
附上练习demo:http://yunpan.cn/cFwMCnxKnG6vb (提取码:0ef7)
#pragma mark - 按钮点击方法
// 下载按钮点击方法
-(void)downloadClick {
// 模拟数据
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];
}