Question

J'essaie de sauvegarder un fichier pdf dans SQLite. Je pense que cela sera possible en sauvegardant le fichier pdf sous blob. Et le problème commence ici, comment afficher ce fichier dans l'application iPhone maintenant? Je sais que cela peut être fait en utilisant ce code: -

 @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]];
    }

Mais quelle devrait être la valeur du pdfUrl , je suis confus ... Et si je le récupère de la base de données, il sera dans un format blob (methinks). Comment le convertir en objet NSdata ?

Merci à vous tous.

Était-ce utile?

La solution

Le problème est que WebView charge l'URL et ne comprend pas des choses comme les requêtes non http; pourtant, votre application essaie de servir les données. Donc, en gros, vous n'avez pas de chance, à moins de pouvoir désérialiser le blob de la base de données sqllite, de l'écrire dans un fichier (dans / tmp, par exemple), puis d'ouvrir un fichier: /// URL à partir de NSWebView - mais Je ne crois pas que l'objet vous permettra de le faire.

Vous pourriez pouvoir invoquer la méthode [UIWebView loadData: MIMEType: textEncodingName: baseURL:], qui vous permettra d'extraire le blob NSData de la base de données sqllite, en fournissant un type mime de application / pdf, collez un code factice (UTF-8) et une URL de base, puis faites-le à votre guise. Mais je serais tenté d’essayer au moins.

Autres conseils

pdfUrl est l'adresse Web du fichier PDF que vous essayez de télécharger sur le site Web. ( http://website.com/mypdf.pdf )

Lisez la documentation sur NSData. Elle contient une méthode vous permettant de créer des objets NSData en fonction de ce que vous extrayez avec sqlite.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top