在iOS中预览Dropbox文件

时间:2014-03-26 09:48:40

标签: ios objective-c dropbox dropbox-api

我正在将Dropbox与我的IOS应用程序集成。我能够获取所选的文件元数据。但是在选择文件后找不到显示预览的方法。有人可以建议哪种API有用。

我正在使用的投递箱是:https://www.dropbox.com/developers/dropins/chooser/ios

当用户想要从dropbox中选择文件时,会调用以下代码:

- (void)didPressChoose
{   
    [[DBChooser defaultChooser] openChooserForLinkType:DBChooserLinkTypePreview fromViewController:self
                                            completion:^(NSArray *results)
     {   
         if ([results count]) {
             _result = results[0];
             //After getting the result, i want to preview the file
         } else {
             _result = nil;
             [[[UIAlertView alloc] initWithTitle:@"CANCELLED" message:@"user cancelled!"
                                        delegate:nil cancelButtonTitle:@"Okay" otherButtonTitles:nil]
              show];
         }
         [[self tableView] reloadData];
     }];
}

1 个答案:

答案 0 :(得分:3)

当您要求DBChooserLinkTypePreview时,您从Chooser返回的DBChooserResult会有一个NSURL链接:

https://www.dropbox.com/s/toyzur6e0m34t7v/dropbox-logos_dropbox-glyph-blue.png

此链接类型用于直接用户交互,因此您可以在那里发送用户,如果可能,Dropbox将显示包含文件预览的页面。

或者,您可能希望使用DBChooserLinkTypeDirect,它会为您提供如下的直接链接:

https://dl.dropboxusercontent.com/1/view/969vkzdys770277/Testing/Images/dropbox-logos_dropbox-glyph-blue.png

这是指向文件内容的直接(但临时)链接。您可以以编程方式下载文件内容(例如,请参阅How do I download and save a file locally on iOS using objective C?),然后随意执行任何操作。例如,如果它是图像等,您可能希望在UIImageView中显示它。

此外,DBChooserResult包含缩略图属性,其中包含指向缩略图的链接(如果所选文件是图像或视频),这些链接可能同样有用。