hello,有没有办法可以知道下载文件的总的大小和已经下载的大小?
xiaomiwang opened this issue · comments
在服务器支持的情况下,HTTP相应头中包含了Content-Length
表示要下载文件的长度,但这种方式的缺点是下载开始后才能获取到要下载文件的大小。
建议由服务器提供专门的接口提供文件大小,然后配合SODownloadItem
的so_downloadProgress
属性计算已下载大小。
如果要通过SODownloader
获取下载文件的总大小,可以查看-[SODownloader startDownloadItem:]
方法中构建progressBlock
部分的代码,progressBlock
的参数downloadProgress
是一个NSProgress
类的对象,这个对象的totalUnitCount
就是要下载文件的总字节数,completedUnitCount
就是已下载的字节数。当下载启动后,从下载请求响应中读到下载文件总大小和已经下载的大小时,progressBlock
回调就会执行。