我的iPhone应用程序从互联网上下载大文件(例如视频)。
我想显示一个进度条,所以我需要获取我正在尝试下载的远程文件的大小(当然,在下载之前)。
我一次又一次地搜索,但没有任何效果。有没有办法做到这一点?
先谢谢你。
答案 0 :(得分:4)
如果您正在使用URL加载系统(NSURLRequest,NSURLConnection等),那么请查看NSURLConnection的expectedContentLength是否有值。请注意,它可能是NSURLResponseUnknownLength。
答案 1 :(得分:2)
好的,我终于得到了答案。
NSURLConnection使用
调用其委托- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;
好吧,我们需要查看NSURLResponse,找到expectedContentLength
- (long long)expectedContentLength
返回值 接收方的预期内容长度,如果无法确定长度,则为NSURLResponseUnknownLength。
答案 2 :(得分:1)
您需要一些机制让服务器向您报告大小。
我希望大多数服务器在响应中提供内容长度标头条目。这应该告诉你文件有多大。我会假设你用来做下载的任何课程都会向你公开这些信息。