scfhao / SODownloader

A simple downloader base on AFNetworking

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

hello,有没有办法可以知道下载文件的总的大小和已经下载的大小?

xiaomiwang opened this issue · comments

在服务器支持的情况下,HTTP相应头中包含了Content-Length表示要下载文件的长度,但这种方式的缺点是下载开始后才能获取到要下载文件的大小。

建议由服务器提供专门的接口提供文件大小,然后配合SODownloadItemso_downloadProgress属性计算已下载大小。

如果要通过SODownloader获取下载文件的总大小,可以查看-[SODownloader startDownloadItem:]方法中构建progressBlock部分的代码,progressBlock的参数downloadProgress是一个NSProgress类的对象,这个对象的totalUnitCount就是要下载文件的总字节数,completedUnitCount就是已下载的字节数。当下载启动后,从下载请求响应中读到下载文件总大小和已经下载的大小时,progressBlock回调就会执行。