ios - 用urlconnection下载图片,response 的数据总大小为什么和一次接收到的数据的大小是一样的?
迷茫
迷茫 2017-04-17 17:10:36
[iOS讨论组]

这样的话,做进度条的时候总是1.0 。
代码如下:

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response{
    [_downloadData setLength:0];
    _response = response;
}

-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data{
    [_downloadData appendData:data];
    if (_downloadProgress) {
        _totalBytesRead += (long long)data.length;
        _downloadProgress(data.length,_totalBytesRead,_response.expectedContentLength);
    }
}

输出如下:

read:33841    totoalread:33841    totalexpected:33841
bytes read:33335    totoalread:67176    totalexpected:33335
bytes read:100142    totoalread:167318    totalexpected:100142
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
阿神

1.为何不用AFN
2.为何不用URLSession

黄舟

参考AFNetworking 使用这个方法获取!

  • (void)connection:(NSURLConnection __unused *)connection
    didSendBodyData:(NSInteger)bytesWritten

totalBytesWritten:(NSInteger)totalBytesWritten
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
{

dispatch_async(dispatch_get_main_queue(), ^{
    if (self.uploadProgress) {
        self.uploadProgress((NSUInteger)bytesWritten, totalBytesWritten, totalBytesExpectedToWrite);
    }
});

}

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号