【问题标题】:how to delete file or Folder from the dropbox using Objective-C如何使用 Objective-C 从 Dropbox 中删除文件或文件夹
【发布时间】:2015-01-10 13:54:41
【问题描述】:

我尝试使用目标 c 从保管箱中删除文件或文件夹,并使用目标 c 替换保管箱中的文件。 我访问了这个链接https://www.dropbox.com/developers/core/docs,但我找不到任何解决方案。我也使用谷歌,但我找不到删除文件夹、文件或替换文件的代码。 你能给出一些解决方案吗?这样我可以走得更远。

我尝试了这段代码,但我无法获得解决方案。 你能检查一下吗?

-(void)DeleteFile
{
    DBRestClient *dbClient = [[DBRestClient alloc] initWithSession:[DBSession sharedSession]];
    [dbClient deletePath:DBdata.path];//DBdata object is DBMetadata for geting path from dropbox
}

-(void)uploadFileToDropBox:(NSString *)filePath
{
    NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentPath = [searchPaths objectAtIndex:0];
    NSString *path = [documentPath stringByAppendingPathComponent:@"/MortgageCalculator.sqlite"];


   [self.restClient uploadFile:@"MortgageCalculator.sqlite" toPath:filePath withParentRev:nil fromPath:path];
}

请提供删除文件、文件夹和替换文件的Demo

谢谢

解决方案 嘿, 我得到了解决方案。 请把这个委托方法

- (void)restClient:(DBRestClient*)client deletedPath:(NSString *)path
{

}
- (void)restClient:(DBRestClient*)client deletePathFailedWithError:(NSError*)error
{

}

并将此代码放入您的删除方法

DBMetadata *metadata = [marrDownloadData objectAtIndex:indexforyourfile];
 [self.restClient deletePath:metadata.path]; 

【问题讨论】:

  • 感谢重播我正在编辑我的问题,我在这里添加我的代码。我正在尝试这个代码。
  • 在我的应用程序下载文件和上传文件在 Dropbox 中它工作查找但我无法删除文件或文件夹和替换文件可以为我提供代码?
  • 很高兴看到您发布了解决方案。这将帮助那些遇到这篇文章的人。您可以将代码行缩进 4 个空格。然后 Stackoverflow 会正确地将其识别为代码 sn-p。查看this 帖子以获取有关如何操作的更多详细信息。

标签: ios objective-c iphone dropbox dropbox-api


【解决方案1】:

这实际上是一个糟糕的问题,应该被否决,因为你没有提供任何你已经尝试过的事情的例子。

但总的来说,对于许多 Restful 服务器 API(包括 DropBox 之一)you first need to authenticate (i.e. get a token to prove that it's really you)

使用该令牌,您将能够调用"fileops/delete" API,它允许删除文件或文件夹。

还有一个 SDK that might encapsulate (or abstract) 足够了,所以删除和替换比试图找出 JSON 和 API 容易得多。

【讨论】:

  • 在我的应用程序下载文件和上传文件在 Dropbox 中它工作查找但我无法删除文件或文件夹和替换文件可以为我提供代码?
【解决方案2】:
You can do it using following code:
-(void)deletefile:(DBPath *)filePath
{
    NSError *err=nil;
    BOOL success;


    success=[[DBFilesystem sharedFilesystem] deletePath:filePath error:&err];
    if(success)
    {
        NSLog(@"deleted");

    }
    else
    {
        NSLog(@"deletion error %@",err);
    }

}
You need to use sync API:Check this API documentation for more detail:

https://www.dropbox.com/developers/sync/docs/ios#DBFilesystem.deletePath:error:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    相关资源
    最近更新 更多