Как скачать файл (iOS / Cocoa SDK) с URL, где имя файла не является частью URL - PullRequest
3 голосов
/ 25 марта 2011

Мне было интересно, как загрузить файл с помощью NSUrl, где имя файла недоступно или не является частью URL-адреса запроса.Я искал в библиотеке ASIHTTPRequest (http://allseeing -i.com / ASIHTTPRequest /).Он имеет

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/ben/Desktop/my_file.txt"];

Но дело в том, что вам нужно знать имя файла здесь.Например, если вы введете URL (не реальный URL) http://some-website/foo.pdf

Он загрузит файл foo.pdf, и я хочу сохранить его таким образом.Любые идеи спасибо.

1 Ответ

5 голосов
/ 25 марта 2011

В обратном вызове делегата NSURLConnection - (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response можно получить suggestedFileName из NSURLResponse. Если вам неизвестно имя, вам нужно придумать другое имя для вашего файла. На этом этапе вы можете указать свой путь загрузки, прежде чем начинать сохранять данные.

предлагаемое имя файла

Возвращает предложенный имя файла для данных ответа.

  • (NSString *) рекомендуемое имя файла

Возвращаемое значение

Предлагаемое имя файла для данные ответа.

Обсуждение

Метод пытается создать имя файла с использованием следующего, в заказ:

  1. Имя файла, указанное с использованием содержимого заголовок распоряжения.

  2. Последний путь компонент URL.

  3. Ведущий URL.

Если хост URL не может быть преобразован в действительное имя файла, используется имя файла «unknown».

В большинстве случаев этот метод добавляет правильное расширение файла на основе Тип MIME. Этот метод всегда будет вернуть правильное имя файла независимо от сохранен ли ресурс на диск.

Наличие

Доступно в iOS 2.0 и потом. Объявлено в NSURLResponse.h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...