今天在使用SDWebimage下载图片时需要获取下载的进度
使用[SDWebImageManager sharedManager]
- ( id < SDWebImageOperation >)downloadImageWithURL:( NSURL *)urloptions:(SDWebImageOptions)options
progress:(SDWebImageDownloaderProgressBlock)progressBlock
completed:(SDWebImageCompletionWithFinishedBlock)completedBlock
发现progressBlock参数中的expectedsize一直为0.
经过google、百度各种搜索,终于解决了这个问题。
这个因为NSHTTPURLResponse中
Accept-Encoding为gzip造成的
当遇到Accept-Encoding为gzip时,expectedsize会变为-1不确定的大小
此时在sdwebimage中expectedsize判断小于0,就会赋值为0
所以如果确定文件的大小时,可以将Accept-Encoding修改成非gzip的就可以获取需要的文件大小了