小文件下载的三种方法

小文件下载的三种方法:

1. 利用NSData的方法:

NSData *data = [NSData dataWithContentsOfURL:url];


这里要已知文件的URL,利用上面的方法把对应的URL的唯一资源写成二进制数据,在进行相应转换.


2.已知资源的URL,创建网络请求,在利用类NSURLConnection发送网络异步请求,

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueuecompletionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {

        UIImage *image = [UIImage imageWithData:data];

        self.imageView.image = image;

  }];


 3.也是已知资源的URL,创建网络请求,不过发送请求后是通过NSURLConnection的代理接受数据

#pragma mark- 代理方法

//1.接收到服务器的响应

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response

{

    self.fileData = [NSMutableData data];

    

    //获得文件的总大小

    self.totalSize = response.expectedContentLength;

}


//2.接收到服务器返回的数据

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data

{

    [self.fileData appendData:data];

    

    //计算文件的下载进度==当前已经下载的数据/文件的总大小

    NSLog(@"%f",1.0 *self.fileData.length / self.totalSize);

    self.progressView.progress = 1.0 *self.fileData.length / self.totalSize;

}


下载文件,通过文件句柄可避免暂停下载后的数据,覆盖前面以下载的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值