我正在尝试从Dropbox API v1过渡到v2。我的目标是将视频文件上传到Dropbox为不需要访问根文件夹的应用程序创建的应用程序文件夹中的Dropbox。我检查了this教程,但有以下混淆:
NSData *fileData = [@"file data example" dataUsingEncoding:NSUTF8StringEncoding allowLossyConversion:NO];
// For overriding on upload
DBFILESWriteMode *mode = [[DBFILESWriteMode alloc] initWithOverwrite];
[[[client.filesRoutes uploadData:@"/test/path/in/Dropbox/account/my_output.txt"
mode:mode
autorename:@(YES)
clientModified:nil
mute:@(NO)
inputData:fileData]
setResponseBlock:^(DBFILESFileMetadata *result, DBFILESUploadError *routeError, DBRequestError *networkError) {
if (result) {
NSLog(@"%@\n", result);
} else {
NSLog(@"%@\n%@\n", routeError, networkError);
}
}] setProgressBlock:^(int64_t bytesUploaded, int64_t totalBytesUploaded, int64_t totalBytesExpectedToUploaded) {
NSLog(@"\n%lld\n%lld\n%lld\n", bytesUploaded, totalBytesUploaded, totalBytesExpectedToUploaded);
}];
在我的情况下应该是什么“/test/path/in/Dropbox/account/my_output.txt”,因为我没有访问根文件夹?
相同的代码是否适用于二进制文件,如mp4文件(在准备NSData时,它在示例代码中使用UTF8编码)?
答案 0 :(得分:1)
" /test/path/in/Dropbox/account/my_output.txt"在样本中只是一个例子。您应该在Dropbox帐户中提供上传文件所需位置的路径。如果您正在使用应用文件夹应用,则您提供的根将自动转换为应用文件夹本身。例如,如果您在" / Apps / MyAppName"上有一个应用文件夹,并且您想要上传名为" video.mp4"的文件。进入名为"视频"的文件夹在您的应用程序文件夹中,您应提供" /Videos/video.mp4"的路径值。这将自动成为帐户中的/Apps/MyAppName/Videos/video.mp4。
该示例通过对字符串进行编码来生成NSData
,但您可以使用相同的uploadData
从任何NSData
上传文件。
答案 1 :(得分:0)
这条路径基本上是 /test/path/in/Dropbox/account/my_output.txt 。
在Dropbox帐户中,它会在> Dropbox>帐户中创建此测试>路径>等文件夹,然后您的文件将位于帐户文件夹中。您可以用
替换它<强> /yourFolderName/Yourfilename.extension 强>