如何通过iPhone上的应用程序保存和查看pdf文件?

如何通过iPhone上的应用程序保存和查看pdf文件?,iphone,objective-c,sqlite,uiwebview,Iphone,Objective C,Sqlite,Uiwebview,我正在尝试在SQLite中保存pdf文件。我认为将pdf文件保存为blob是可能的。问题从这里开始,现在如何在iPhone应用程序中查看该文件? 我知道可以使用以下代码完成:- @interface PDFViewController : UIViewController { UIWebView *webView; NSURL *pdfUrl; } @property (nonatomic, retain) IBOutlet UIWebVie

我正在尝试在SQLite中保存pdf文件。我认为将pdf文件保存为blob是可能的。问题从这里开始,现在如何在iPhone应用程序中查看该文件? 我知道可以使用以下代码完成:-

 @interface PDFViewController : UIViewController  {
        UIWebView *webView;
        NSURL *pdfUrl;
    }

    @property (nonatomic, retain) IBOutlet UIWebView *webView;
    @property (nonatomic, retain) NSURL *pdfUrl;

    @end



@implementation PDFViewController

@synthesize webView, pdfUrl;
    - (void)viewDidLoad {
        [super viewDidLoad];
        // Tells the webView to load pdfUrl
        [webView loadRequest:[NSURLRequest requestWithURL:pdfUrl]];
    }
但是,
pdfUrl
的价值应该是什么,我很困惑。。。 如果我从数据库中检索它,它将是blob格式(methinks),那么如何将它转换为
NSdata
对象呢


谢谢大家。

pdfUrl是您试图从网站下载的PDF的网址。(即)


阅读有关NSData的文档,它有一种方法允许您创建NSData对象,而无需使用sqlite提取任何内容。

pdfUrl是您尝试从网站下载的PDF的网址。(即)


阅读有关NSData的文档,它有一种方法允许您创建NSData对象,而不需要使用sqlite提取任何内容。

问题在于WebView进行URL加载,它无法理解非http请求等内容;然而,您的应用程序正试图为数据服务。因此,基本上,您是运气不佳,除非您可以从sqllite数据库中反序列化blob,将其写入一个文件(比如/tmp),然后从NSWebView中打开一个文件:///URL——但我不相信该对象会让您这么做


您可能能够调用[UIWebView loadData:MIMEType:textEncodingName:baseURL:]方法,该方法将允许您从sqllite数据库提取NSData blob,提供mime类型的application/pdf,坚持使用伪文本编码(UTF-8)和基本URL,然后它可能会执行您想要的操作。但至少我会尝试一下。

问题是WebView会加载URL,它不会理解非http请求之类的事情;然而,您的应用程序正试图为数据服务。因此,基本上,您是运气不佳,除非您可以从sqllite数据库中反序列化blob,将其写入一个文件(比如/tmp),然后从NSWebView中打开一个文件:///URL——但我不相信该对象会让您这么做


您可能能够调用[UIWebView loadData:MIMEType:textEncodingName:baseURL:]方法,该方法将允许您从sqllite数据库提取NSData blob,提供mime类型的application/pdf,坚持使用伪文本编码(UTF-8)和基本URL,然后它可能会执行您想要的操作。但至少我会尝试一下。

Hi-AlBlue,当我从db检索pdf文件时,它不作为url,那么什么应该是baseURL参数。?Hi-AlBlue,当我从db检索pdf文件时,它不作为url,那么什么应该是baseURL参数。?