У меня проблема, я хочу получить размер файла моей ссылки, который я ввел в свое текстовое поле, и покажу его на ярлыке перед началом загрузки. Я сделал несколько вещей, и я с [operation.response expectedContentLength]
я просто получить 0. мой код в .m файл состоит в следующем:Получение размера файла перед его загрузкой с помощью afnetworking
NSString *fileName = [self.linkTextBox.stringValue lastPathComponent];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:[self.linkTextBox stringValue]]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSLog(@"size :%lld", [operation.response expectedContentLength]);
self.detailText.stringValue = [NSString stringWithFormat:@"%lld", [operation.response expectedContentLength]];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileName];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setDownloadProgressBlock:^(NSUInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead) {
NSLog(@"bytesRead: %lu, totalBytesRead: %lld, totalBytesExpectedToRead: %lld", (unsigned long)bytesRead, totalBytesRead, totalBytesExpectedToRead);
}];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
[operation start];
ask webdeveloper, чтобы дать вам размер ... вы не можете получить размер без скачивания –
Ожидаемая длина может быть 0, потому что сервер не предоставляет вам заголовок Content-Length. Проверьте ответ HTTP, чтобы узнать, доступно ли оно или нет. –
Я получаю общую длину, когда я запускаю загрузку, но ее недоступно до начала. моя длина ссылки отображается в другом менеджере загрузки, но не моя – Armin