2011-01-26 114 views
1

我需要從網站下載大型pdf,我創建了一個進度條控制器。如何獲取遠程文件大小以增加進度條?

enter image description here

但是,我怎麼設置最大進度值它,我不知道在下載之前的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; 
} 

,但我不能夠以這種方式來檢查遠程大小...

什麼想法?
感謝

回答

2

我會使用ASIHTTPRequest進行數據檢索。它有progress monitoring built in

如果你真的想堅持你所擁有的,你可以看看HTTP頭。它有一個名爲「Content-Length」的屬性可以幫助你。

祝你好運。

+0

很酷。我喜歡這一個! – elp 2011-01-27 09:12:12

+1

ASIHTTPRequest在iOS5中無法正常工作,開發人員不再維護該項目。我建議你在別處尋找這個功能,例如CFNetworking。 – BBonifield 2011-11-09 00:43:05

1

ASIHTTPRequestdownloadProgressDelegate可以處理此爲你 - 它非常容易使用。

0

已解決。

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

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

我忘了didReceiveResponse

不錯。