views:

29

answers:

1

What is the best way to view documents (pdf,doc,xls) using AsiHttpRequest and UIWebView??? I tried the following, but the UIWebView is displaying the 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 is required for setting Basic Authentication and Header Values... Thanks!

+1  A: 

Well, to be fair, you're telling it to display HTML, so the result isn't really unexpected :-)

You'd need to download the pdf file locally:

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

then view it in UIWebView:

NSURL *url = [NSURL fileURLWithPath:tmpLocation];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
JosephH
Did u used it? It's not working if I am using NSTemporaryDirectory() for the temp location...
iniesta
You'll need to add a filename onto the end of NSTemporaryDirectory(). (No, I've not tried directly this code, however it is the right way to do it and there's no reason it shouldn't work.)
JosephH
Ok, its running thanks!!
iniesta