我想在投递箱上传视频
所以我已经通过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}
答案 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
这是文件的实际路径。