При загрузке файла из папки Dropbox для документов удаляются все мои файлы

Мое приложение показывает файлы dropbox и каталог документов. при просмотре файлов Dropbox я могу нажать кнопку, которая показывает список всех моих папок с документами и подкаталогов в этих папках, чтобы они могли выбрать папку, в которую они хотят поместить этот файл в документы. при этом я использовал целевой API-интерфейс dropbox, который, как они говорят, используется в документации для загрузки файла в путь в системе.

NSString *DocumentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

for (NSIndexPath *indexPath in [dropboxFilesTable indexPathsForSelectedRows]) {

    DBMetadata *fileMetadata = [[dropboxFolderMetadata contents] objectAtIndex:indexPath.row];

    [[self restClient] loadFile:fileMetadata.path intoPath:DocumentsPath];
}

делегат для выпадающего списка говорит, что он успешно помещен внутрь, но когда я вернулся, каждая папка и загруженный файл были удалены, и этот файл все еще не находится в папке. я думал, что понадобится окончательный путь, такой как "путь к документам"/"имя файла", но тогда dropbox дает ошибку для этого. Кто-нибудь знает, почему он удаляет все мои файлы, а не помещает их в мои документы?

1 ответ

Решение

intoPath Параметр должен быть полным путем к имени файла, а не каталогом. Вам нужно обновить последнюю строку до чего-то вроде:

NSString *filename = [fileMetadata.path lastPathComponent];
NSString *destPath = [DocumentsPath stringByAppendingPathComponent:filename];
[[self restClient] loadFile:fileMetadata.path intoPath:destPath];

Также убедитесь, что вы делаете это только файлы, а не папки.

Другие вопросы по тегам