通过dropbox sdk

时间:2015-06-01 12:35:24

标签: ios objective-c dropbox dropbox-api

我想在投递箱上传视频 所以我已经通过this参考了 身份验证成功。但是得到文件不存在的错误。
代码如下

if (![[DBSession sharedSession] isLinked]) {
    [[DBSession sharedSession] linkFromController:self];
}
NSString *destDir = @"/My App";
NSLog(@"file name:%@ path:%@",[player.contentURL lastPathComponent],[player.contentURL absoluteString]);
[self.restClient uploadFile:[[player.contentURL absoluteString] lastPathComponent] toPath:destDir withParentRev:nil fromPath:[player.contentURL absoluteString]];

并获得以下输出:

  

文件名:My Video.mov   路径:文件:///var/mobile/Containers/Data/Application/4C6FB9BE-FF47-47D6-B9E9-D832534D122A/Documents/My%20Video.mov

  2015-06-01 17:07:55.239测试应用程序[2733:310902] [警告] DropboxSDK:   文件不存在   (文件:///var/mobile/Containers/Data/Application/4C6FB9BE-FF47-47D6-B9E9-D832534D122A/Documents/My%20Video.mov)

  2015-06-01 17:07:55.252 Test App [2733:310902]文件上传失败了   错误:错误Domain = dropbox.com代码= 1001"操作不能   完成。 (dropbox.com错误1001。)"的UserInfo = 0x14ebd270   {destinationPath = /我的应用程序/我的%20Video.mov,   SOURCEPATH =文件:///var/mobile/Containers/Data/Application/4C6FB9BE-FF47-47D6-B9E9-D832534D122A/Documents/My%20Video.mov}

2 个答案:

答案 0 :(得分:0)

absoluteString不返回文件URL的路径。猜猜可能会调用返回路径的方法。

答案 1 :(得分:0)

absoluteString将URL作为字符串返回,而不是文件的路径。你需要的是:

NSString *filePath=[player.contentURL path];

这将返回:

var/mobile/Containers/Data/Application/4C6FB9BE-FF47-47D6-B9E9-D832534D122A/Documents/My%20Video.mov

这是文件的实际路径。