当前位置:编程学习 > asp >>

如何结合asp.net webservice实现文件上传下载。

我们下载cnblogs上的一个zip文件。使用NSURLRequest+NSURLConnection可以很方便的实现这个功能。在asp.net webservice中可以将文件的地址返回到iOS系统,iOS系统再通过这个url去请求下载该文件。这里为了简单起见,直接将url写道代码里面了。我们可以使用两种方式去下载文件。
 
1、同步下载文件:
[cpp]  
<span style="font-family:宋体;">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);   
        } </span>  
 
 
2.异步下载
[cpp]  
<span style="font-family:宋体;">DownLoadingViewController.h  
  
//  DownLoadingViewController.h   
//  DownLoading   
//   
//  Created by skylin zhu on 11-7-30.   
//  Copyright 2011年 mysoft. All rights reserved.   
//   
  
#import   
  
@inte易做图ce 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{   
    /* 下载的数据 */   
  
     
补充:Web开发 , ASP.Net ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,