Форум программистов, компьютерный форум, киберфорум
Наши страницы
Objective-C
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
1

Работа с большими файламив Dropbox

24.09.2013, 17:24. Просмотров 768. Ответов 9
Метки нет (Все метки)

Всем привет, пытаюсь оперировать большими файлами используя Sync API для iOS
Моя программа шифрует файлы в режиме stream, и я записываю шифрованные части (по ~320000 bytes) методом
[file appendData:data error:nil];
file - переменная формата DBFile
Когда размеры файла доходят до 80 мб программа вылетает и не выдает ошибки
По ходу выполнения программы выдаются ошибки recieve memory warning, хотя переменные дополнительно никакие не используются

Какие есть способы управления большими файлами для dropbox апи для ios? или в чем моя ошибка?
И есть ли аналог метода [file appendData:data error:nil]; только для скачивания файла?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 17:24
Ответы с готовыми решениями:

Работа с большими файлами + шифрование
Всем привет! Столкнулся с проблемой получения файлов большого размера(>1.5Gb...

работа c dropbox
Добрый день! Появилась необходимость в программе связываться с сервисом...

Работа с Dropbox через HTTP (GET/POST)
Задача: работать с Dropbox(скачивать/закачивать файлы) через Dropbox API с...

Работа с большими файлами
Как редактировать большие файлы? Если текстовый редакторы виснут, а нужно...

Работа с большими числами
Доброго времени суток, уважаемые форумчане! Собственно задание которое я...

9
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
24.09.2013, 20:57 2
Ну так пишите сразу на диск.
Зачем в памяти держать?
Используйте класс NSFileHandle.
0
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
25.09.2013, 12:45  [ТС] 3
При помощи FileHandler можно сохранить данные на диск так же, как и при помощи NSData? я просто не вижу там метода для сохранения в локальную директорию

Можете объяснить логику: у меня есть файл, я беру у него FileHandler, это означает что я беру информацию о нем? а что происходит с остальным файлом?

У меня же есть только объект с типом dropbox sdk DBFile, оттуда можно вытащить handler тоже, но я не понимаю, как с помощью него закачать файл сразу на диск, не используя при этом переменную. В режиме стрима я понял как записывать только, там специальный метод, а для скачивания похожего метода нет
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
25.09.2013, 14:19 4
Цитата Сообщение от paparotnik Посмотреть сообщение
я просто не вижу там метода для сохранения в локальную директорию
- (void)writeDataNSData *)data;
затем
- (void)synchronizeFile;

Цитата Сообщение от paparotnik Посмотреть сообщение
Можете объяснить логику: у меня есть файл, я беру у него FileHandler, это означает что я беру информацию о нем? а что происходит с остальным файлом?
Ни у чего вы не берете FileHandler. Это класс - обвязка для того, чтобы высокоуровнево работать с файлом(запись, чтение, поиск).
Что значит с остальным файлом?
Цитата Сообщение от paparotnik Посмотреть сообщение
У меня же есть только объект с типом dropbox sdk DBFile, оттуда можно вытащить handler тоже, но я не понимаю, как с помощью него закачать файл сразу на диск, не используя при этом переменную. В режиме стрима я понял как записывать только, там специальный метод, а для скачивания похожего метода нет
Что такое DBFile?
Какой handler?
как с помощью него закачать файл сразу на диск
Приходит часть данных, дописали к своему файлу, ждете следующую часть.
0
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
25.09.2013, 17:39  [ТС] 5
Я имею ввиду sdk dropbox sync for ios, изначально вопрос я задал и там написал, что отталкиваюсь от него.

Решил проблему с чтением, теперь проблема в том, что запись по частям на дропбокс не работает при больших объемах, то бишь допустим два раза по 40мб дописывает в файл и падает на третьем разе
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
25.09.2013, 20:20 6
Цитата Сообщение от paparotnik Посмотреть сообщение
то бишь допустим два раза по 40мб дописывает в файл и падает на третьем разе
Если вы "предыдущие" 2 раза память чистили - ничего упасть не должно было.
Если время позволит - доберусь до Dropbox SDK снова, посмотрю как там. У меня таких проблем с его использованием не было.
0
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
25.09.2013, 22:50 7
Цитата Сообщение от paparotnik Посмотреть сообщение
два раза по 40мб дописывает в файл и падает на третьем разе
В файл? Или опять в NSData?
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
26.09.2013, 06:24 8
Цитата Сообщение от paparotnik Посмотреть сообщение
падает на третьем разе
Вы кстати хоть бы написали что в крэшлогах было, показали код... А то как будто тут общество анонимных шаманов :/
0
paparotnik
0 / 0 / 0
Регистрация: 27.11.2012
Сообщений: 60
30.09.2013, 17:52  [ТС] 9
Так ничего не пишет в креш логах, просто вылетает и все, может дело в том что девайс первый айпад
По итогу из временной папки выгружаю разом на дропбокс
0
zulkis
684 / 611 / 43
Регистрация: 13.01.2011
Сообщений: 1,724
01.10.2013, 08:01 10
Цитата Сообщение от paparotnik Посмотреть сообщение
Так ничего не пишет в креш логах, просто вылетает и все, может дело в том что девайс первый айпад
По итогу из временной папки выгружаю разом на дропбокс
По памяти оно так и вылетает. Говорю же, пишите на диск, не в память. В чем проблема то?
0
01.10.2013, 08:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 08:01

Работа с большими изображениями
Изображение хранится в ресурсах приложения. Если оно больше размера экрана, то...

Работа с большими файлами
Как в c/c++ работать с большими файлами? А точнее нужно открывать файлы...

Работа с большими массивами
Есть задача: получение санитарной зоны вокруг антенн, связи с особенностью...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru