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

时间: 2024-10-01 00:28:58

ASIHTTPRequest框架进行文件下载的相关文章

iOS开发网络篇—使用ASI框架进行文件下载

原文  http://www.cnblogs.com/wendingding/p/3961681.html iOS开发网络篇—使用ASI框架进行文件下载 说明 :本文介绍iOS网络编程中经常用到的框架ASI,如何使用该框架进行文件的下载. 一.简单介绍 代码示例: 1 #import "YYViewController.h" 2 #import "ASIHTTPRequest.h" 3 4 @interface YYViewController () 5 6 7 @

ASIHTTPRequest 框架的导入

刚接触ios 对一切都不熟悉  记录一下ASIHTTPRequest 框架的导入 步骤 以便日后再用 1.首先下载ASIHTTPRequest:点击下载 2.在工程中导入以下文件: 导入方式: 将文件中的: 还有在文件external 中得reachability文件中的.m和.h文件 中的所有的.h和.m文件导入到我们的工程中: 3.ASIHTTPRequestrian 依赖的5个框架或库也需要添加到项目中: CFNetwork SystemConfiguration MobileCoreSe

安装配置ASIHTTPRequest框架

下载ASIHTTPRequest框架,解压后,把 加到工程中,然后还需要添加一些支持的类库和框架:(TARGETS->Build Phases->Link Binary With Libraries) ASIHTTPRequest不支持ARC内存管理,因此如果我们采用了ARC,应该设置一下编译参数"-fno-objc-arc",将下列文件的编译参数设置为"-fno-objc-arc"(TARGETS->Build Phases->Compil

ASIHTTPRequest框架使用总结系列之阿堂教程4(下载数据)

从本篇开始,阿堂准备进一步介绍ASIHTTPRequest框架下载数据和上传数据的实际应用. 为了实现多线程并发请求网络能力,ASIHTTPRequest被设计成 NSOperation的子类.ASINetworkQueue被设计成NSOpertaionQueue的子类.如果NSOpertaionQueue是线程管理器,NSOperation就相当于一个线程.它们被添加到NSOperationQueue队列中有序执行.ASINetworkQueue 和ASIHTTPRequest也有同样的概念,

ASIHTTPRequest框架使用总结系列之阿堂教程2(同步请求)

从本篇开始,阿堂结合一些具体代码来说明.在ASIHTTPRequest框架中,与http请求相关的类有ASIHTTPRequest  和 ASIFormDataRequest,其中最常用的是 ASIHTTPRequest ,ASIFormDataRequest 是ASIHTTPRequest  的子类,可以发送html类似的表单数据,也可以上传数据,默认采用其它httpy请求方式.它们都可以进行异步或同步请求. 从性能和用户体验来说,阿堂是不建议用同步方式的,建议用异步方式.就是说在主线程中一般

ASIHTTPRequest框架使用总结系列之阿堂教程3(异步请求)

在上一节中,阿堂和网友们分享了ASIHTTPRequest框架对于get,post的同步请求方式.很显然,如果网速比较慢,查询的时候会一直很黑屏,直到请求结束界面才出现结果,这样用户体验肯定很不好了.正如上节阿堂所说,同步请求一般只是在某个子线程中使用,而不在主线程中使用. ASIHTTPRequest和ASIFormDataRequest两个请求类都可以发送异步请求,而后者继承了前者的异步请求方法,所以这里阿堂重点介绍ASIHTTPRequest的异步请求.异步请求后的处理通过回调委托对象的方

ASIHTTPRequest框架使用(1)--发送同步请求

ASIHTTPRequest框架是优秀的第三方OC的HTTP框架,支持Mac OS X和iOS下得HTTP开发. 具有如下优点: 1.支持下载数据放在内存或本地文件 2.容易访问请求和应答HTTP Header 3.支持Cookie 4.支持GZip请求或应答(?) 5.支持缓存 6.支持同步或异步请求 7.支持HTTPs 但是,ASIHTTPRequest不支持ARC. 配置ASI框架:向项目中导入ASI框架之后,还要向工程中引入一些框架和类库: CFNetwork.framework,Sys

基于Struts2框架的文件下载 --- Struts2

一.通过链接的方式提供指定类型文件的下载 1.最终功能实现的截图:(点击文件下载链接,下载文件 ) 2.核心代码 index.jsp: 1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <% 3 String path = request.getContextPath(); 4 String basePath = request.ge

ASIHTTPRequest框架的简单使用

ASIHttpRequest是一款及其强劲的HTTP訪问开源项目.让简单的API完毕复杂的功能,如:异步请求,队列请求,GZIP压缩.缓存,断点续传,进度跟踪,上传文件.HTTP认证.在新版本号中,还增加了Object-C闭包Block的支持,让我们的代码更加精简灵活. 依赖的5个库: CFNetwork SystemCorfiguration MobileCoreServices 和libz.libxml2 ASIHttpRequest库内容能够到 Github 开源网去下载 一.ASIHtt