如何使用 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 获取坐标
如何从 NSdictionary 获取键值 - iphone sdk
如何从 iphone sdk 中的 ISOCountryCode 获取 ISOCurrencyCode?