NSURLConnection下载

下载大中小数据的对应方式


//一般来说:下载在要用get请求

{

//缓存数据

NSMutableData * _buffer;

}

//下载大数据文件

- (void)downloadBigFile {

NSString *str =@"http://localhost:8080/UpLoad/XiaTianXieZouQu.rmvb";

//对路径进行编码去除特殊字符

str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL* url = [NSURL URLWithString:str];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

//导入代理设置代理

[NSURLConnection connectionWithRequest:request delegate:self];

}

#pragma mark -- NSURLConnectionDelegate,NSURLConnectionDataDelegate

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{

NSLog(@"接收响应");

_buffer= [[NSMutableData alloc] init];

}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{

NSLog(@"---->%@",data);

[_buffer appendData:data];

}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{

NSLog(@"下载完成");

//设置接收路径

NSString *filePath = [NSHomeDirectory() stringByAppendingString:@"/Documents/aa.rmvb"];

//写入数据

[_buffer writeToFile:filePath atomically:YES];

NSLog(@"filePath---->%@",filePath);

}

- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {

NSLog(@"下载失败");

}

//下载中等文件

- (void)downloadMiddleFile {

//文件资源路径

NSString * str =@"http://localhost:8080/UpLoad/CC.mp3";

str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL* url = [NSURL URLWithString:str];

NSURLRequest * request = [NSURLRequest requestWithURL:url];

[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *_Nullableresponse,NSData *_Nullabledata,NSError *_NullableconnectionError) {

//文件存放路径

NSString *filePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/cc.mp3"];

NSLog(@"filePath ---->%@",filePath);

//写入文件

[data writeToFile:filePathatomically:YES];

}];

}

//下载小文件直接使用

- (void)downloadSmallFile {

//获取路径

NSString * urlstr =@"http://localhost:8080/UpLoad/5.jpg";

//对URL进行编码,去除特殊字符

urlstr = [urlstr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL*url = [NSURL URLWithString:urlstr];

//设置请求

NSURLRequest * request = [NSURLRequestrequestWithURL:url];

//发送连接

[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *_Nullableresponse,NSData *_Nullabledata,NSError *_NullableconnectionError) {

//刷新UI

[self.imageView performSelectorOnMainThread:@selector(setImage:) withObject:[UIImage imageWithData:data] waitUntilDone:NO];

}];

}

你可能感兴趣的:(NSURLConnection下载)