1

我需要从网上下载大的 pdf,我创建了一个进度条控制器。

在此处输入图像描述

但是,如果我不知道下载前的 pdf 大小,我如何设置最大进度值?
有没有办法获取文件大小并使用它来增加进度条?

我正在使用

myPDFremoteUrl = "http://www.xasdaxxssxx.pdf";
- (float) getFileSize {
    NSFileManager *man = [[NSFileManager alloc] init];
    NSDictionary *attrs = [man attributesOfItemAtPath: myPDFremoteUrl error: NULL];
    UInt32 result = [attrs fileSize];

    return (float)result;
}

但我无法以这种方式检查远程大小......

任何的想法?
谢谢

4

3 回答 3

2

我会使用ASIHTTPRequest进行数据检索。它内置了进度监控

如果您真的想坚持现有的,您可以查看 HTTP 标头。它有一个名为“Content-Length”的属性可以帮助你。

祝你好运。

于 2011-01-26T11:25:56.593 回答
1

ASIHTTPRequest有一个downloadProgressDelegate可以为您处理这个问题 - 它非常易于使用。

于 2011-01-26T11:24:21.573 回答
0

解决了。

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    dimensione = (float)[response expectedContentLength];

    NSLog(@"content-length: %f bytes", dimensione);
}

我忘记了didReceiveResponse

好的。

于 2011-01-26T11:43:45.453 回答