2009-08-04 16 views
0

私はSQLiteにPDFファイルを保存しようとしています。私はblobとしてpdfファイルを保存することで可能になると思います。そして、問題はここから始まり、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の値がどうあるべきか、私は ...混乱していると私は、DBから取得ならば、それはブロブになりますフォーマット(methinks)をNSdataオブジェクトに変換するにはどうすればいいですか?

ありがとうございました。

答えて

3

問題はWebViewのは、URLのロードを行うということであり、それは非HTTPリクエストのようなものを理解することはありません。アプリケーションがデータを提供しようとしています。したがって、基本的には、あなたはsqlliteデータベースからブロブをデシリアライズし、ファイルに書き込んで(/ tmpで)、NSWebViewからfile:/// URLを開くことができない限り、運が悪いです。私はオブジェクトがあなたにそれをさせるとは思わない。

あなた [:MIMEタイプ:textEncodingName:ベースURL:のUIWebView loaddataの]呼び出すことができるかもしれないあなたがsqlliteデータベースからNSDataのブロブを抽出することができます方法は、アプリケーション/ PDFのMIMEタイプを供給し、ダミーのテキストエンコーディング(UTF-8)とベースURLを貼り付け、必要な処理を行うことができます。しかし、私は少なくともそれを試してみたいです。

+0

こんにちはAlBlue、dbからpdfファイルを取得するときにURLとして機能しないので、baseURLパラメータは何になりますか? – SocialCircus

1

pdfUrlは、あなたがウェブサイトからダウンロードしようとしているPDFのウェブアドレスです。 (すなわちhttp://website.com/mypdf.pdf

NSDataのドキュメントを読むと、NSDataオブジェクトを作成する方法があります。NSDataオブジェクトは、sqliteを使用して取り出したものに基づいて作成することはできません。

関連する問題