2 votes

ASIHTTPRequest UIWebView charger les documents

Quelle est la meilleure façon d'afficher des documents (pdf, doc, xls) en utilisant AsiHttpRequest et UIWebView ??? J'ai essayé ce qui suit, mais le UIWebView affiche le html :

NSString * baseURL = @"http://xxxxxx/open-api/v1/";
NSString * itemRef = @"item/133/attachment/test.pdf";

NSString *urlString = [NSString stringWithFormat:@"%@%@", baseURL, itemRef];
NSURL *url = [NSURL URLWithString:urlString];

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];

[request setUsername:@"xx"];
[request setPassword:@"xx"];

[request startSynchronous];

NSError *error = [request error];
if (!error) {
    [self.webView loadHTMLString:[request responseString] baseURL: [request url]];
}
else {
    NSLog(@"Error: %@", error );
}

AsiHttpRequest est nécessaire pour définir l'authentification de base et les valeurs d'en-tête... Merci !

1voto

JosephH Points 21074

Pour être honnête, vous lui demandez d'afficher du HTML, donc le résultat n'est pas vraiment inattendu :-.

Vous devez télécharger le fichier pdf localement :

NSString *tmpLocation = // some temporary file location
[request setDownloadDestinationPath:tmpLocation]];
[request startSyncronous];

puis l'afficher dans UIWebView :

NSURL *url = [NSURL fileURLWithPath:tmpLocation];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X