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

发布于 2024-07-26 18:21:18 字数 152 浏览 3 评论 0原文

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

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

我一次又一次地寻找,但没有任何效果。 有什么办法可以做到这一点吗?

预先感谢您。

My iPhone application downloads large files from the internet (videos, for instance).

I'd like to display a progress bar, so I need to get the size of the remote file I'm trying to download (before downloading it, of course).

I've searched, again and again, but nothing is working. Is there any way to do that ?

Thank you by advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

随波逐流 2024-08-02 18:21:18

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

If you're using the URL Loading System (NSURLRequest, NSURLConnection, etc.), then look to see if there's a value for the NSURLConnection's expectedContentLength. Note that it might be NSURLResponseUnknownLength.

糖果控 2024-08-02 18:21:18

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

NSURLConnection 调用其委托

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

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

- (long long)expectedContentLength

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

Ok, I finally get my answer.

The NSURLConnection calls its delegate with

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

Well, we need to look inside the NSURLResponse, to find the expectedContentLength

- (long long)expectedContentLength

Return Value
The receiver’s expected content length, or NSURLResponseUnknownLength if the length can’t be determined.

星光不落少年眉 2024-08-02 18:21:18

您需要某种机制让服务器向您报告大小。

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

You'll need some mechanism for the server to report the size to you.

I would expect most servers to provide the content-length header entry in the response. That should tell you how big the file is. I would assume whatever class you're using to do the download would expose that information to you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文