1

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

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

4

3 回答 3

0

使用 UIWebView 显示包含 PDF 的 NSData

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

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

于 2012-06-16T18:45:11.943 回答
0

您要么必须为您计划支持的每种类型的文档包括视图支持,要么将该任务交给另一个应用程序,该应用程序可以使用 UIDocumentInteractionController 为您完成。

有关更多信息,请参阅iOS 文档交互编程主题

于 2012-06-16T16:26:57.827 回答
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);

data 是你收到的数据

于 2012-06-16T16:18:46.350 回答