2009-08-04 115 views
0

我想在SQLite中保存一个PDF文件。我认为这将可能通过将pdf文件保存为blob。问题从这里开始,现在如何在iPhone应用程序中查看该文件? 我知道它可以使用此代码来完成: -如何通过iPhone上的应用程序保存和查看PDF文件?

@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对象?

谢谢大家。

回答

3

的问题是,做web视图的URL加载,并且它不会明白的事情像非HTTP请求;但您的应用程序正在尝试提供数据。所以基本上,你运气不好,除非你可以将blob从sqllite数据库中反序列化,把它写入一个文件(在/ tmp中),然后从NSWebView打开一个文件:/// URL - 但我不相信对象会让你这样做。

可能能够调用[UIWebView的loadData:MIME类型:textEncodingName:基本URL:]方法,它可以让你从sqllite数据库中提取NSData的斑点,提供一个MIME类型的应用程序/ PDF格式的,坚持使用虚拟文本编码(UTF-8)和基本URL,然后它可以做你想做的事。但我会试着至少尝试一下。

+0

嗨AlBlue,当我从数据库中检索的PDF文件,它不会作为一个url所以应该是什么参数基本URL? – SocialCircus 2009-08-04 10:32:14

1

pdfUrl是您试图从网站下载的PDF的网址。 (即http://website.com/mypdf.pdf

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

相关问题