用于在 iOS 中上传媒体文件的 Dropbox API v2
Dropbox API v2 for uploading media files in iOS
我正在尝试从 Dropbox API v1 过渡到 v2。我的 objective 是在 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编码)?
基本上这个路径是/test/path/in/Dropbox/account/my_output.txt。
在 Dropbox 帐户中,它将创建这样的文件夹 test>path>in>Dropbox>account-- 然后您的文件将位于帐户文件夹中。您可以将其替换为
/yourFolderName/Yourfilename.extension
示例中的“/test/path/in/Dropbox/account/my_output.txt”只是一个例子。您应该提供 Dropbox 帐户中上传文件的所需位置的路径。如果您使用的是应用程序文件夹应用程序,您提供的根目录将自动转换为应用程序文件夹本身。例如,如果您在“/Apps/MyAppName”处有一个应用程序文件夹,并且您想要将名为 "video.mp4" 的文件上传到应用程序文件夹中名为 "Videos" 的文件夹中,您应该提供一个路径“/Videos/video.mp4”的值。那将自动成为帐户中的/Apps/MyAppName/Videos/video.mp4。
示例通过编码字符串生成 NSData
,但您可以使用相同的 uploadData
从任何 NSData
.[=13 上传文件=]
我正在尝试从 Dropbox API v1 过渡到 v2。我的 objective 是在 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编码)?
基本上这个路径是/test/path/in/Dropbox/account/my_output.txt。
在 Dropbox 帐户中,它将创建这样的文件夹 test>path>in>Dropbox>account-- 然后您的文件将位于帐户文件夹中。您可以将其替换为
/yourFolderName/Yourfilename.extension
示例中的“/test/path/in/Dropbox/account/my_output.txt”只是一个例子。您应该提供 Dropbox 帐户中上传文件的所需位置的路径。如果您使用的是应用程序文件夹应用程序,您提供的根目录将自动转换为应用程序文件夹本身。例如,如果您在“/Apps/MyAppName”处有一个应用程序文件夹,并且您想要将名为 "video.mp4" 的文件上传到应用程序文件夹中名为 "Videos" 的文件夹中,您应该提供一个路径“/Videos/video.mp4”的值。那将自动成为帐户中的/Apps/MyAppName/Videos/video.mp4。
示例通过编码字符串生成
NSData
,但您可以使用相同的uploadData
从任何NSData
.[=13 上传文件=]