2012-05-21 2 views
9

Я разрабатываю приложение iOS, используя Dropbox API. При загрузке файла с помощью API-интерфейса Dropbox я просто хочу перезаписать существующий файл с тем же именем. Как установить родительский оборот и какое значение? Спасибо!Как переписать файл с родительским rev, используя Dropbox API в iOS?

ответ

1

В методе uploadFile установите значение withParentRev равным нулю.

+0

Мне нужно, чтобы заменить существующий файл. Предоставляя parentRev nill, каждый раз создавайте новые файлы. – vandana

+0

Упс ... Ларс указал на правильное направление: сначала нужно прочитать метаданные существующего файла, чтобы получить информацию parentRev. Также вы можете использовать устаревший метод uploadFile: toPath: fromPath: – user523234

+0

Сказал (а) спасибо, сейчас работает – vandana

6

Получить все файлы в каталоге с [[self restclient] loadMetadata:@"/"]

в делегатом - (void)restClient:(DBRestClient *)client loadedMetadata:(DBMetadata *)metadata вы получите все детали каждого файла. Просканируйте все файлы с именем файла, представляющим интерес, и получите сведения об обновлении с помощью file.rev и сохраните его.

Если вы хотите, чтобы заменить файл, для parentrev аргумента, дать nsstring как то, что вы сохранили с file.rev

1

Еще один интересным способом

[[self restclient] loadrevisionsforfile:@"/test.pdf"] 

Это предполагает, что вы знаете свой тест. PDF находится в корневой директории

в делегатом

-(void) restclient:(DBRestClient *)client loadedRevisions:(NSArray *)revisions forfile:(NSString *)path 

изменения массив содержит историю всех пересмотров test.pdf файла означает счетчик массива указывает количество раз test.pdf обновлено

DBMetaData *y = [revisions objectatindex:0] 

индекс 0, номер ревизии последние обновления тест. PDF.

Для обновления существующего test.pdf, y.rev может быть использован для аргумента в parentrev

+0

Что делать, если есть 1000 версий? Это кажется пустой тратой, но если вы позвоните с лимитом 1, то это может быть быстрее, чем получение всех метаданных. –