iOS-实现文件上传下载
来源:互联网 发布:淘宝卖的白酒是假酒吗 编辑:程序博客网 时间:2024/06/08 18:48
iOS开发中会经常用到文件上传下载的功能,这篇文件将介绍一下使用asp.net webservice实现文件上传下载。
首先,让我们看下文件下载。
这里我们下载cnblogs上的一个zip文件。使用NSURLRequest+NSURLConnection可以很方便的实现这个功能。
同步下载文件:
异步下载文件:
从上面两段代码中可以看到同步与异步下载的区别,大部分时候我们使用异步下载文件。
首先,让我们看下文件下载。
这里我们下载cnblogs上的一个zip文件。使用NSURLRequest+NSURLConnection可以很方便的实现这个功能。
同步下载文件:
- NSString *urlAsString = @"http://files.cnblogs.com/zhuqil/UIWebViewDemo.zip";
- NSURL *url = [NSURL URLWithString:urlAsString];
- NSURLRequest *request = [NSURLRequest requestWithURL:url];
- NSError *error = nil;
- NSData *data = [NSURLConnection sendSynchronousRequest:request
- returningResponse:nil
- error:&error];
- /* 下载的数据 */
- if (data != nil){
- NSLog(@"下载成功");
- if ([data writeToFile:@"UIWebViewDemo.zip" atomically:YES]) {
- NSLog(@"保存成功.");
- }
- else
- {
- NSLog(@"保存失败.");
- }
- } else {
- NSLog(@"%@", error);
- }
异步下载文件:
- - (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 = [[NSMutableData alloc] init];
- self.connectionData = 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 = nil;
- }
从上面两段代码中可以看到同步与异步下载的区别,大部分时候我们使用异步下载文件。
0 0
- iOS-实现文件上传下载
- iOS-实现文件上传下载 .
- iOS 实现文件上传下载
- iOS-实现文件上传下载
- iOS-实现文件上传下载
- iOS实现文件上传下载
- iOS-实现文件上传下载
- iOS-实现文件上传下载
- iOS开发之实现文件上传下载
- ios 开发文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- iOS开发之结合asp.net webservice实现文件上传下载
- [iOS AFNetworking框架实现HTTP请求、多文件图片上传下载]
- Debug Tip
- java.lang.UnsatisfiedLinkError解决方法汇集
- UML基础学习
- How to load and execute Thread class when spring configuration loaded (如何在读取spring配置时自启动线程类)
- 【2014/09/15】linux笔记 软件安装
- iOS-实现文件上传下载
- 什么是BeanShell
- UF超滤膜:超滤膜元件运行常规操作步骤
- Minimal Nginx and Gunicorn configuration for Django projects
- 做好企业流程管理 ,提高企业管理效率
- Dynamics CRM 2011/2013 section的隐藏
- 结合spring mvc发布webservice
- 开源手游服务器引擎
- Ubuntu,mac查看端口命令