iOS 离线下载

这里的代码后边加油详细的注视,就作为一个帮助性的博客, 如果完成注释的功能还有其他方法,博客尽量写出比较完善的方法,所以如有不妥,还望指正。
1 ASINetworkQueue

 NSString *savePath=[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];//savepath

[newworkqueue setMaxConcurrentOperationCount:1];//设置下载队列属性,设置为1只允许下完一首再下另一首,默认是并行下载不分前后

[request setShouldContinueWhenAppEntersBackground:YES];//允许后台下载

[request setTimeOutSeconds:120];//超过这个时间才会被认定为失败

[request setNumberOfTimesToRetryOnTimeout:3];//超时加载后重试几次

[newworkqueue setRequestDidFinishSelector:@selector(singleDownloadFinished:)];//单个request完成

 [queue setShouldCancelAllRequestsOnFailure:NO];//禁用若单个失败取消掉所有request的属性

[request clearDelegatesAndCancel]//取消一个异步请求

[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"]//上传图片,利用延时加载。

ASIHTTPRequest-断点续传(下载) 参考链接

NSURL  *url = [ NSURL  URLWithString:
   ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
  
   NSString  *downloadPath = @ "/Users/ben/Desktop/asi.png" ;
  
   //当request完成时,整个文件会被移动到这里
   [request setDownloadDestinationPath:downloadPath];
  
   //这个文件已经被下载了一部分
   [request setTemporaryFileDownloadPath:@ "/Users/ben/Desktop/asi.png.download" ];
   [request setAllowResumeForFileDownloads: YES ];
   [request startSynchronous];
  
   //整个文件将会在这里
   NSString  *theContent = [ NSString  stringWithContentsOfFile:downloadPath];

-(float)currentOffLineSize{//查看Library/Caches文件总大小,(MB)


    NSString *savePath=[NSHomeDirectory() stringByAppendingPathComponent:@"Library/Caches"];

    NSFileManager *filemgr;

    NSArray *filelist;


    int count;


    float cacheSize = 0;


    filemgr =[NSFileManager defaultManager];


    filelist = [filemgr contentsOfDirectoryAtPath:savePath error:NULL];


    count = [filelist count];


    for (NSString *url in filelist) {

        NSData *data = [filemgr contentsAtPath:[NSString stringWithFormat:@"%@/%@",savePath,url]];


        NSLog(@"file url=%@",[NSString stringWithFormat:@"%@/%@",savePath,url]);


        cacheSize = cacheSize + ([data length]/1000);

    }

    cacheSize = (cacheSize/1024);

    return cacheSize;

}

原文链接: http://www.xiaoyaoli.com/?p=916
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值