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

Posted

技术标签:

【中文标题】如何使用 iPhone SDK 获取远程文件的大小?【英文标题】:How to get the size of a remote file with iPhone SDK? 【发布时间】:2009-07-09 14:45:37 【问题描述】:

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

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

我搜索了一遍又一遍,但没有任何效果。有什么办法吗?

提前谢谢你。

【问题讨论】:

this 的副本。 【参考方案1】:

如果您使用的是 URL 加载系统(NSURLRequest、NSURLConnection 等),请查看 NSURLConnection 的 expectedContentLength 是否有值。请注意,它可能是 NSURLResponseUnknownLength。

【讨论】:

【参考方案2】:

好的,我终于得到答案了。

NSURLConnection 调用它的委托

- (void) connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response;

好吧,我们需要查看 NSURLResponse 内部,找到预期的ContentLength

- (long long)expectedContentLength

返回值 接收者的预期内容长度,如果无法确定长度,则为 NSURLResponseUnknownLength。

【讨论】:

【参考方案3】:

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

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

【讨论】:

以上是关于如何使用 iPhone SDK 获取远程文件的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 abbyy mobile sdk for iphone 获取坐标

如何获取远程存储图像的文件大小? (php)

如何从 NSdictionary 获取键值 - iphone sdk

如何从 iphone sdk 中的 ISOCountryCode 获取 ISOCurrencyCode?

如何从 iphone sdk 中的城市名称获取位置(坐标)?

如何获取较旧的 SDK,我需要吗?