IOS文件下载
来源:互联网 发布:剑网三魔君捏脸数据 编辑:程序博客网 时间:2024/05/06 08:16
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下如何结合asp.net webservice实现文件上传下载。
首先,让我们看下文件下载。
这里我们下载cnblogs上的一个zip文件。使用NSURLRequest+NSURLConnection可以很方便的实现这个功能。在asp.net webservice中可以将文件的地址返回到iOS系统,iOS系统再通过这个url去请求下载该文件。这里为了简单起见,直接将url写道代码里面了。我们可以使用两种方式去下载文件。
1、同步下载文件:
NSString *urlAsString = @"http://files.cnblogs.com/zhuqil/UIWebViewDemo.zip"; NSURL *url = [NSURL URLWithString:urlAsString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSError *error = nil; NSData *data = http://www.cnblogs.com/zhwl/archive/2012/07/13/[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:&error]; /* 下载的数据 */ if (data != nil){ NSLog(@"下载成功"); if ([data writeToFile:@"UIWebViewDemo.zip" atomically:YES]) { NSLog(@"保存成功."); } else { NSLog(@"保存失败."); } } else { NSLog(@"%@", error); }
2.异步下载
DownLoadingViewController.h// DownLoadingViewController.h // DownLoading // // Created by skylin zhu on 11-7-30. // Copyright 2011年 mysoft. All rights reserved. // #import @interface DownLoadingViewController : UIViewController { NSURLConnection *connection; NSMutableData *connectionData; } @property (nonatomic,retain) NSURLConnection *connection; @property (nonatomic,retain) NSMutableData *connectionData; @end DownLoadingViewController.m// DownLoadingViewController.m // DownLoading // // Created by skylin zhu on 11-7-30. // Copyright 2011年 mysoft. All rights reserved. // #import "DownLoadingViewController.h" @implementation DownLoadingViewController @synthesize connection,connectionData; - (void)dealloc { [super dealloc]; } - (void)didReceiveMemoryWarning { // Releases the view if it doesn't have a superview. [super didReceiveMemoryWarning]; // Release any cached data, images, etc that aren't in use. } #pragma mark - View lifecycle // Implement viewDidLoad to do additional setup after loading the view, typically from a nib. - (void)viewDidLoad { [super viewDidLoad]; //文件地址 NSString *urlAsString = @"http://files.cnblogs.com/zhuqil/UIWebViewDemo.zip"; NSURL *url = [NSURL URLWithString:urlAsString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; NSMutableData *data = http://www.cnblogs.com/zhwl/archive/2012/07/13/[[NSMutableData alloc] init]; self.connectionData = http://www.cnblogs.com/zhwl/archive/2012/07/13/data; [data release]; NSURLConnection *newConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES]; self.connection = newConnection; [newConnection release]; if (self.connection != nil){ NSLog(@"Successfully created the connection"); } else { NSLog(@"Could not create the connection"); } } - (void) connection:(NSURLConnection *)connection didFailWithError:(NSError *)error{ NSLog(@"An error happened"); NSLog(@"%@", error); } - (void) connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{ NSLog(@"Received data"); [self.connectionData appendData:data]; } - (void) connectionDidFinishLoading :(NSURLConnection *)connection{ /* 下载的数据 */ NSLog(@"下载成功"); if ([self.connectionData writeToFile:@"UIWebViewDemo.zip" atomically:YES]) { NSLog(@"保存成功."); } else { NSLog(@"保存失败."); } /* do something with the data here */ } - (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{ [self.connectionData setLength:0]; } - (void) viewDidUnload{ [super viewDidUnload]; [self.connection cancel]; self.connection = nil; self.connectionData = http://www.cnblogs.com/zhwl/archive/2012/07/13/nil; } @end
- ios下载文件
- IOS文件下载
- IOS文件下载
- IOS下载文件
- iOS文件下载
- 【iOS】文件下载小记
- 文件下载 ios
- iOS 文件分段下载
- iOS AFNetworking下载文件
- iOS 文件下载断点续传
- iOS网络文件下载
- ios 大文件下载
- iOS 文件下载
- iOS文件下载
- iOS 文件下载
- iOS文件分段下载
- iOS 文件下载
- iOS 文件下载
- java 运行时类型识别(RTTI) - 1 - Class与instanceof
- ios URL Scheme
- 支持与兼容性问题阻碍虚拟化部署
- linux块驱动程序分析 之 nand flash 驱动编写过程分析
- 老外最爱的个性短语集锦
- IOS文件下载
- Java零零碎碎的笔记(二)
- 动态绑定/解绑控件变量和控件
- 透明层覆盖在另一层上,透明层在ie6下不能响应事件的解决
- IOS文件下载
- VC读取文件的文件版本号
- 【Linux Shell】shell命令读书笔记---第四章:通配符扩展
- Android 中的WiFi学习笔记(转载)----WIFI启动 代码流程走读---网络连接流程
- 三层交换机学习--三层表项精确匹配和最长匹配