gpt4 book ai didi

objective-c - iOS DropboxSDK,获取远程子目录和内容

转载 作者:行者123 更新时间:2023-12-01 18:03:05 24 4
gpt4 key购买 nike

我在Dropbox上有一个带有几个子目录和文件的远程目录。

远端:

-Mobile Profiles *(root)*
-- Custom Profiles
--- Profile1
--- Profile2
--- Profile3

上载文件和目录/以及带有文件的子目录不是问题。在将子目录及其内容从Dropbox传送到设备时,我感到很困惑。


-(void)backupCustomProfiles {
for ( NSString *file in [[NSFileManager defaultManager] contentsOfDirectoryAtPath:MP_CUSTOM error:&error] ) {
[self.restClient uploadFile:file toPath:@"/Mobile Profiles/Custom Profiles/" fromPath:EasyStrings(MP_CUSTOM,file)];
}
}

得到
-(void)restoreCustomProfiles {
for ( ) {
/* ? */
}
}

我不确定如何遍历远程端的子目录。

最佳答案

首先加载目录元数据,然后加载其引用的文件。

要限制并行获取的数量,请对所有loadMetadata和loadFile调用使用NSOperationQueue来限制并行获取的数量。为了避免多余的文件下载,请在plist中记住下载的元数据。

- (void) restoreCustomProfiles
{
[self.client loadMetadata:@"/Mobile Profiles/Custom Profiles" withHash:hash];
}

- (void) restClient:(DBRestClient*)client loadedMetadata:(DBMetadata*)metadata
{
for (DBMetadata* child in metadata.contents) {
NSString *path = [child.path lowercaseString];

if (child.isDirectory) {
[client loadMetadata:child.path withHash:hash];
} else {
[client loadFile:pathToDownload intoPath:[
self.directory stringByAppendingString:path]];
}
}
}

- (void) restClient:(DBRestClient*)client loadedFile:(NSString*)destPath
{
// successfully downloaded a file to destPath
}

关于objective-c - iOS DropboxSDK,获取远程子目录和内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5383889/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com