【问题标题】:how to restore file in dropbox programmatically如何以编程方式恢复保管箱中的文件
【发布时间】:2012-04-04 06:35:47
【问题描述】:

我是 IOS Dropbox 开发的新手,我还在学习如何在我的应用程序中实现 Dropbox,该应用程序是一个文本编辑器,我想让它支持在 Dropbox 中上传和下载文件。在我的应用程序中,我只能对文本进行一些更改,然后将其上传到 Dropbox,但我无法将其恢复到最新版本。我已经阅读了 Dropbox Rest API 并阅读了关于 https://api.dropbox.com/1/restore/<root>/<path>

但我不知道该怎么办,有人可以帮助我吗?

谢谢

【问题讨论】:

    标签: iphone ios5 versioning restore dropbox-api


    【解决方案1】:

    试试这个

    /* 恢复路径中的文件,因为它存在于给定的 rev 并返回恢复的元数据 恢复后的文件*/

    - (void)restoreFile:(NSString *)path toRev:(NSString *)rev;
    

    其中 path 是要恢复的 DropBox 文件的路径,rev 是要恢复到的 Revision

    它的委托方法是

    - (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata;
    - (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error;
    

    您可以使用这些来获取特定文件的修订列表

    /* 加载一个包含最多 10 个 DBMetadata 对象的列表,这些对象代表路径中文件的过去修订 */

    - (void)loadRevisionsForFile:(NSString *)path;
    

    /* 与上述相同,但对返回的 DBMetadata 对象的数量有可配置的限制,最多 1000 个 */

    - (void)loadRevisionsForFile:(NSString *)path limit:(NSInteger)limit;
    

    他们的委托方法是

    - (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path;
    - (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error;
    

    例子

        NSString *filePath = @"/Contacts";
        NSString *revisionStr = @"a1067dc176";   // sample revisionString
    
        [[self restClient] loadRevisionsForFile:filePath limit:10];
    
        [[self restClient] restoreFile:filePath toRev:revisionStr];
    

    // 委托方法

    - (void)restClient:(DBRestClient*)client loadedRevisions:(NSArray *)revisions forFile:(NSString *)path{
    
        for (DBMetadata *file in revisions) 
        {
            NSLog(@"MetaData's Revisions \t%@", file.rev);
        }
    }
    - (void)restClient:(DBRestClient*)client loadRevisionsFailedWithError:(NSError *)error{
    
    }
    
    - (void)restClient:(DBRestClient*)client restoredFile:(DBMetadata *)fileMetadata{
        NSLog(@"Restored FileMetaData Path : %@",fileMetadata.path);
            NSLog(@"Restored FileMetaData rev : %@",fileMetadata.rev);
    }
    - (void)restClient:(DBRestClient*)client restoreFileFailedWithError:(NSError *)error{
         NSLog(@"There was an error restoring the file - %@", error);
    }
    

    【讨论】:

      猜你喜欢
      • 2016-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-08
      • 1970-01-01
      • 2014-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多