Загрузите и распакуйте файл * .tgz в подкаталог каталога Documents. - PullRequest
4 голосов
/ 22 января 2012

Там вполне может быть ответ на этот вопрос уже в SO, но я недостаточно знаком с форматами сжатия, чтобы знать, применимы ли они к моему случаю. Итак, вот что мне нужно:

1) Загрузите файл * .tgz размером более 200 МБ. 2) Распакуйте его в указанный подкаталог папки Documents.

Я знаю, как установить соединение и начать загрузку. Но как мне загрузить в реальный файл (а не хранить его в памяти), и как только эта загрузка будет завершена, как мне распаковать его в нужное место?

Ответы [ 2 ]

0 голосов
/ 04 марта 2012

забудьте NSURLConnection; используйте ASIHTTPConnection (google it), который легко сохранить в файл. (И возобновляет неудачные загрузки тоже)

Я не знаю ответа на tar / gzip. Мое приложение вместо этого использует почтовые индексы, и http://code.google.com/p/ziparchive/wiki/PageName добивается цели.

0 голосов
/ 22 января 2012

Чтобы сохранить загруженные данные в файл, см. Этот SO-вопрос и ответы: Самый простой способ записи NSData в файл

Чтобы распаковать .tgz-файлы, см. Этот вопрос и ответы: Файл «Untar» на iPhone

Чтобы загрузить большие файлы, см. Вопрос и ответ (ы): Как загружать большие файлы с помощью объектива c на iphone

(Google - действительно потрясающий инструмент.)

Так же, как sidenote, приложение не должно загружать 200 МБ данных. Это отнимает много времени и ресурсов и может привести к тому, что Apple отклонит ваше приложение.

...