在应用程序中显示文件

时间:2012-06-16 16:13:20

标签: iphone objective-c ios ipad

我的应用程序设置为具有各种文档类型的所有Open-in。例如,用户在我的应用程序中打开PDF,然后不显示它,我让他们选择要放入的文件夹并将其上传到我的服务器。我正在获取网址,将其转换为NSData并将其上传到我的服务器(效果很好)。

然后,当他们想要稍后查看该文件时,我从我的服务器中提取NSData ...这就是我遇到的问题。如何从我的应用程序中获取该NSData对象并向用户显示内容?谢谢。

3 个答案:

答案 0 :(得分:0)

如果服务器不需要任何用户/密码挑战,您可以执行

NSURL*url=[NSURL URLWithString:@"your url goes here"];
NSData*data=[NSData dataWithContentsOfURL:url];

您还可以使用NSURLRequest更好地控制下载,并使用委托方法实现NSURLConnection类

如果您使用NSURLConnection实施NSURLRequest,则可以质询用户/密码

对于大型内容,您可以执行类方法

+ sendAsynchronousRequest:queue:completionHandler:

要从NSData创建pdf文档,您可以执行以下操作:

CFDataRef myPDFData = (CFDataRef)data;
CGDataProviderRef provider= CGDataProviderCreateWithCFData(myPDFData);
CGPDFDocumentRef pdf= CGPDFDocumentCreateWithProvider(provider);

数据是您收到的数据

答案 1 :(得分:0)

您必须为计划支持的每种类型的文档包含视图支持,或者将该任务移交给另一个可以使用UIDocumentInteractionController为您执行此操作的应用程序。

有关详细信息,请参阅Document Interaction Programming Topics for iOS

答案 2 :(得分:0)

使用UIWebView显示包含PDF的NSData

[self.webView loadData:data MIMEType:@"application/pdf" textEncodingName:@"utf-8"     baseURL:nil];

网络视图可以显示不同的数据。