2012-01-22 6 views
3

Там очень хорошо может быть ответ на этот вопрос уже на SO, но я недостаточно осведомлен о форматах сжатия, чтобы узнать, применимы ли они к моему дело. Итак, вот что мне нужно:Загрузите и распакуйте файл * .tgz в подкаталог каталога Documents

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

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

ответ

0

Чтобы сохранить загруженные данные в файл, увидеть этот SO-вопрос и ответ (ы): The easiest way to write NSData to a file

Для разархивированию .tgz-файлы, посмотреть на этот вопрос и ответ (ы): "Untar" file on iPhone

Для загрузки больших файлов, увидеть этот вопрос и ответ (ы): How to download large files using objective c on iphone

(Google является удивительным инструментом, на самом деле.)

Подобно тому, как заметка на полях, приложение не следует загружать 200MB данных. Это время и пропускная способность, и Apple может отклонить ваше приложение.

+0

Спасибо. Я потратил время, пытаясь найти ответы, но часть моей проблемы в том, что у меня не было необходимого словаря (т. Е. Я не знал, что «untar» был термином для декомпрессии tgz). – maxedison

+0

Что касается вашего сайта, можете ли вы порекомендовать место, где можно задавать вопросы о проблемах подачи заявок? Моя компания делает настольные программы. Приложение является бесплатным дополнением для наших клиентов. Он включает в себя много аудио (отсюда и большой размер файла), без которого приложение будет бесполезным. Я вижу here, что есть пара опций для указания, какие файлы не должны быть скопированы в iCloud. Любая идея, если это устраняет риск отклонения, исходя из необходимости загружать так много данных? – maxedison

+0

Это зависит от описания загрузки для пользователя, я думаю. Я, однако, не тот человек, которого я хочу спросить, поэтому я предлагаю вам задать еще один вопрос в отношении этого :) Кроме того, если бы этот вопрос помог вам, я был бы признателен, если бы вы проголосовали или приняли его, нажав ✔ рядом с ответ :) – Emil

0

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

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

Смежные вопросы