Как получить размер удаленного файла для увеличения индикатора выполнения? - PullRequest
1 голос
/ 26 января 2011

Мне нужно скачать большой 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;
}

, но я не могу проверитьдистанционный размер таким образом ...

есть идеи?
Спасибо

Ответы [ 3 ]

2 голосов
/ 26 января 2011

Я бы использовал ASIHTTPRequest для получения данных. Он имеет мониторинг прогресса, встроенный в .

Если вы действительно хотите придерживаться того, что у вас есть, вы можете посмотреть HTTP-заголовок. У него есть свойство Content-Length, которое поможет вам.

Удачи.

1 голос
/ 26 января 2011

ASIHTTPRequest имеет downloadProgressDelegate, который может обработать это для вас - его очень легко использовать.

0 голосов
/ 26 января 2011

решаемая.

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

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

Я забыл didReceiveResponse!

хорошо.

...