Pregunta

Estoy tratando de guardar un archivo pdf en SQLite. Creo que será posible guardando el archivo pdf como blob. Y el problema comienza aquí, ¿cómo ver ese archivo dentro de la aplicación de iPhone ahora? Sé que se puede hacer usando este código: -

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

Pero cuál debería ser el valor de pdfUrl , estoy confundido ... Y si lo recupero de la base de datos, estará en un formato de blob (me parece), entonces, ¿cómo convertirlo en un objeto NSdata ?

Gracias a todos.

¿Fue útil?

Solución

El problema es que WebView carga la URL y no comprende cosas como solicitudes que no son http; Sin embargo, su aplicación está intentando servir los datos. Básicamente, no tienes suerte, a menos que puedas deserializar el blob de la base de datos sqllite, escribirlo en un archivo (en / tmp, por ejemplo) y luego abrir un archivo: /// URL desde NSWebView, pero No creo que el objeto te permita hacer eso.

Usted podría ser capaz de invocar el método [UIWebView loadData: MIMEType: textEncodingName: baseURL:], que le permitirá extraer el blob NSData de la base de datos sqllite, proporcionar un tipo mime de application / pdf, inserte una codificación de texto ficticio (UTF-8) y una URL base, y luego podría hacer lo que quiera. Pero estaría tentado a intentarlo al menos.

Otros consejos

el pdfUrl es la dirección web del PDF que está intentando descargar del sitio web. (es decir, http://website.com/mypdf.pdf )

Lea la documentación en NSData, tiene un método que le permite crear objetos NSData basados ??en lo que extrae utilizando sqlite.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top