2009-08-04 116 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提取的內容。

相關問題