麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

ASIHTTPRequest

2019-11-14 18:18:16
字體:
來源:轉載
供稿:網友

ASIHTTPRequest 是一款非常有用的 HTTP 訪問開源項目,ASIHTTPRequest使用起來非常方便,可以有效減少代碼量.他的功能非常強大,可以實現異步請求,隊列請求,緩存,斷點續傳,進度跟蹤,上傳文件,HTTP 認證。同時它也加入了 Objective-C 閉包 Block 的支持.其官方網站: http://allseeing-i.com/ASIHTTPRequest/

在使用ASI之前,需要導入一下框架:

    CFNetWork.framework
    SystemConfiguration.framework
    MobileCoreServices.framework
    libz.dylib

因為ASI是不支持ARC的,所以如果打算使用ARC功能,也就是arc和非arc混編,需要給非 ARC 模式的代碼文件加入 -fno-objc-arc 標簽。

 

一:ASIHTTPRequest實現上傳文件功能

//上傳- (IBAction)UpLoad:(UIButton *)sender {    NSURL *url=[NSURL URLWithString:@"http://localhost:8080/UploadServer/UploadServlet"];    ASIFormDataRequest *request=[ASIFormDataRequest requestWithURL:url];    [request setRequestMethod:@"POST"];    //方法一:主要應用與小文件,將小文件轉換為Data類型,再將Data類型的數據放入post請求體中上傳    NSData *dataImage=UIImageJPEGRepresentation([UIImage imageNamed:@"1.jpg"], 1);    [request appendPostData:dataImage];        //方法二:直接從文件路徑找到文件,并放入post請求體中上傳,同樣適用與小文件    [request appendPostDataFromFile:[[NSBundle mainBundle]pathForResource:@"1" ofType:@"jpg"]];        //方法三:數據流方法(文件不分大小)    //允許是從磁盤上讀取數據,并將數據上傳,默認為NO    [request setShouldStreamPostDataFromDisk:YES];    [request setPostBodyFilePath:[[NSBundle mainBundle]pathForResource:@"1" ofType:@"jpg"]];        //使用異步請求    [request startAsynchronous];}

 

 

一:ASIHTTPRequest實現文件斷點下載

//下載- (IBAction)downLoad:(UIButton *)sender {    //判斷請求是否為空.(如果雙擊開始,會產生一個不再受控制的請求)    if (_request!=nil) {        return;    }    //如果文件下載完畢就不再下載    if ([[NSFileManager defaultManager]fileExistsAtPath:[self getFilePath]]) {        return;    }    NSString *string=@"http://localhost:8080/downloadSrver/xcode_6.dmg.dmg";    string=[string stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];    NSURL *url=[NSURL URLWithString:string];    //創建ASIHTTPRequest請求    _request=[ASIHTTPRequest requestWithURL:url];    //設置文件存放的目標路徑    [_request setDownloadDestinationPath:[self getFilePath]];    [_request setDownloadProgressDelegate:self];    //允許斷點續傳,必須設置    [_request setAllowResumeForFileDownloads:YES];    //設置大文件下載的臨時路徑    //下載過程中文件一直保存在臨時文件中,當文件下載完成后才移入目標路徑下    [_request setTemporaryFileDownloadPath:[self getTemoPath]];    //設置代理    _request.delegate=self;    _request.downloadProgressDelegate=self;    //異步請求    [_request startAsynchronous];}- (IBAction)pause:(UIButton *)sender {    //取消請求并清除代理    [_request clearDelegatesAndCancel];    _request=nil;}-(NSString *)getTemoPath{    //設置文件下載的臨時路徑    NSString *string=[NSTemporaryDirectory() stringByAppendingPathComponent:@"temp"];    return string;}//獲取沙盒-(NSString *)getFilePath{    NSString *document=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];    NSString *filePath=[document stringByAppendingPathComponent:@"xcode6.dmg"];    return filePath;}//獲取下載進度-(void)setProgress:(float)newProgress{    _progressVIew.progress=newProgress;    _label.text=[NSString stringWithFormat:@"%.2f%%",newProgress*100];}//因為ASI是非ARC,所以系統不會自動釋放,需要手動操作-(void)dealloc{    [_request clearDelegatesAndCancel];}

 

 
 
 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: xvideos korean| 涩涩屋av| 天天夜天天操 | 国产成人羞羞视频在线 | 中文字幕一区二区三区四区 | 久久久久久中文字幕 | av大全在线免费观看 | 一区二区三区日韩 | 午夜视频观看 | 一区二区三区黄色 | 一区二区精品视频在线观看 | 日本成人二区 | 亚洲综合精品 | 免费观看黄色影片 | 视频一区二区三区中文字幕 | 91久久久国产精品 | 91成人午夜性a一级毛片 | 高清在线观看av | 毛片免费一区二区三区 | 成人午夜视频网站 | 噜噜噜躁狠狠躁狠狠精品视频 | 国产精品99免费视频 | 久久久久久久.comav | 欧美性生活久久久 | 欧美激情猛片xxxⅹ大3 | 色人阁五月天 | 久久吊| 黄色大片网站在线观看 | 免费男女乱淫真视频 | 久久国产精品久久久久久久久久 | 老司机免费福利午夜入口ae58 | 极品大长腿啪啪高潮露脸 | a视频网站| 亚洲视屏在线观看 | 欧美日韩大片在线观看 | 一级黄色毛片播放 | 国产色91 | 久久17 | 久久精品伊人网 | 日韩黄色成人 | 天天鲁在线视频免费观看 |