Ich entwickle eine iOS-Anwendung mit Dropbox-API. Beim Hochladen einer Datei mit der Dropbox-API möchte ich nur die vorhandene Datei mit dem gleichen Namen überschreiben. Wie kann ich die übergeordnete Version und welchen Wert festlegen? Danke!Wie überschreiben Sie Datei mit übergeordnetes rev mit Dropbox API in iOS?
Antwort
https://www.dropbox.com/developers/reference/api#files_put
verweis auf die Dropbox API Sie müssen nur den parent_rev Parameter angeben. Wenn Sie die parent_rev nicht kennen, rufen Sie einfach die https://www.dropbox.com/developers/reference/api#metadata für die Datei. In der Antwort dieses Aufrufs finden Sie die parent_rev
In der uploadFile-Methode setzen Sie die withParentRev auf Null.
Holen Sie sich alle Dateien im Verzeichnis mit [[self restclient] loadMetadata:@"/"]
in den Delegaten - (void)restClient:(DBRestClient *)client loadedMetadata:(DBMetadata *)metadata
Sie erhalten alle Details der einzelnen Dateien. Durchsuchen Sie alle Dateien mit dem Dateinamen Ihres Interesses und erhalten Sie die Rev-Details mit file.rev und speichern Sie sie.
Wenn Sie die Datei ersetzen möchten, für parentrev
Argument, geben die nsstring
als das, was Sie mit file.rev gespeichert
Ein interessanter Weg ist
[[self restclient] loadrevisionsforfile:@"/test.pdf"]
Dies vorausgesetzt, dass Sie Ihren Test kennen. pdf ist unter Stammverzeichnis
in den Delegaten
-(void) restclient:(DBRestClient *)client loadedRevisions:(NSArray *)revisions forfile:(NSString *)path
Überarbeitungen Array enthält die Geschichte aller Revisionen test.pdf Datei, um die Array Zahl bedeutet die Anzahl der Male test.pdf anzeigt wurde aktualisiert
DBMetaData *y = [revisions objectatindex:0]
bei Index 0, der letzte aktualisierte Test die Revisionsnummer ist. pdf.
Für die bestehende test.pdf aktualisieren, können y.rev in parentrev
Was ist, wenn es 1000 Revisionen gibt? Dies scheint eine Verschwendung zu sein, aber wenn Sie mit einem Limit von 1 aufrufen, ist es möglicherweise schneller als alle Metadaten zu erhalten. –
ich die vorhandene Datei überschrieben werden müssen für Argument verwendet werden. Während Sie parentRev erstellen, müssen Sie nicht jedes Mal neue Dateien erstellen. – vandana
Hoppla ... Lars zeigte in die richtige Richtung: Sie müssen zuerst die Metadaten der vorhandenen Datei lesen, um die parentRev-Info zu erhalten. Sie können auch die veraltete Methode uploadFile verwenden: toPath: fromPath: – user523234
Danke, jetzt funktioniert es – vandana