ASIHTTPRequest框架进行文件下载

一、在项目中使用 ASIHTTPRequest
1、拷贝源文件到项目中
ASIHTTPRequest 是一个开源项目,要使用他,直接拷贝项目源文件到你的项目 中,包括下列文件(即 Classes 下所有文件和 External/Reachability 下所有文 件):
ASIHTTPRequestConfig.h
ASIHTTPRequestDelegate.h
ASIProgressDelegate.h
ASICacheDelegate.h
ASIHTTPRequest.h
ASIHTTPRequest.m
ASIDataCompressor.h
ASIDataCompressor.m
ASIDataDecompressor.h
ASIDataDecompressor.m
ASIFormDataRequest.h
ASIInputStream.h
ASIInputStream.m
ASIFormDataRequest.m
ASINetworkQueue.h
ASINetworkQueue.m
ASIDownloadCache.h
ASIDownloadCache.m
对于 iPhone,还要拷贝下列文件:
ASIAuthenticationDialog.h
ASIAuthenticationDialog.m
Reachability.h (External/Reachability 目录 )
Reachability.m (External/Reachability 目录 )

2、添加依赖库
ASIHTTPRequest 依赖于以下 5 个框架或库:
CFNetwork, SystemConfiguration, MobileCoreServices, CoreGraphics 和 libz1.2.3。
依次将上述库和框架添加到 target 的 Linked Libraries 中 

 

然后下载核心代码:

//下载

 -(void)downLoad:(id)sender

{

    //创建请求对象

    NSURL *url=[NSURL URLWithString:@"http://12345.com"];//加自己的地址

    ASIHTTPRequest *request=[ASIHTTPRequest requestWithURL:url];

    

    //设置文件保存路径

    NSString *cachePath=[NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES)lastObject];

    NSString *filename=[cachePath stringByAppendingString:@"travel.plist"];

    request.downloadDestinationPath=filename;

    NSLog(@"%@",filename);

    //发送网络请求(异步)

    [request startAsynchronous];

    

    [request setCompletionBlock:^{

        //成功下载提示

        UIAlertView *alertView=[[UIAlertView alloc]initWithTitle:@"网络下载" message:@"下载完成" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

            [alertView show];

    }];

}

源码下载:链接:http://pan.baidu.com/s/1hq6fWu4  密码:z3xr

posted @ 2015-08-25 13:30  王 彪  阅读(582)  评论(0编辑  收藏  举报