-1

私のアプリはドロップボックスファイルとドキュメントディレクトリを表示します。ドロップボックスファイルを表示しているときに、すべてのドキュメントフォルダーと、それらのフォルダー内のサブディレクトリのリストを表示するボタンを押すと、そのファイルをドキュメントに配置するフォルダーを選択できます。これを行うとき、私はdropboxのObjective c APIを使用して、システム上のパスにファイルをダウンロードするためにドキュメントで使用すると言っています。

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でエラーが発生します。すべてのファイルを削除し、ドキュメントに入れない理由を知っている人はいますか?

4

1 に答える 1

1

パラメータはintoPath、ディレクトリではなく、完全なファイル名パスである必要があります。最後の行を次のように更新する必要があります。

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

また、フォルダではなく、ファイルのみを実行していることを確認してください。

于 2012-11-10T23:10:42.823 に答える