如何使用iPhone SDK获取远程文件的大小?

时间:2009-07-09 14:45:37

标签: iphone file size

我的iPhone应用程序从互联网上下载大文件(例如视频)。

我想显示一个进度条,所以我需要获取我正在尝试下载的远程文件的大小(当然,在下载之前)。

我一次又一次地搜索,但没有任何效果。有没有办法做到这一点?

先谢谢你。

3 个答案:

答案 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)

您需要一些机制让服务器向您报告大小。

我希望大多数服务器在响应中提供内容长度标头条目。这应该告诉你文件有多大。我会假设你用来做下载的任何课程都会向你公开这些信息。