我需要从网上下载大型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;
}
但是我无法以这种方式检查远程尺寸......
任何想法?
感谢
答案 0 :(得分:2)
我会使用ASIHTTPRequest进行数据检索。它有progress monitoring built in。
如果您真的想坚持自己所拥有的,那么您可以查看HTTP标头。它有一个名为“Content-Length”的属性可以帮助你。
祝你好运。答案 1 :(得分:1)
ASIHTTPRequest有downloadProgressDelegate
可以为您处理此问题 - 它非常易于使用。
答案 2 :(得分:0)
解决。
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
dimensione = (float)[response expectedContentLength];
NSLog(@"content-length: %f bytes", dimensione);
}
我忘了didReceiveResponse
!
好。