2010-10-08 2 views
2

Каков наилучший способ просмотра документов (pdf, doc, xls) с использованием AsiHttpRequest и UIWebView ??? Я попытался следующие, но UIWebView отображает HTML-код:ASIHTTPRequest UIWebView загружает документы

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 требуется для настройки Basic Authentication и заголовка значения ... Спасибо!

ответ

1

Ну, честно говоря, вы сообщаете его для отображения HTML, поэтому результат не очень неожиданным :-)

Вы должны были бы скачать файл в формате PDF локально:

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

затем просмотреть его в UIWebView:

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

ли у использовал его? Он не работает, если я использую NSTemporaryDirectory() для временного местоположения ... – iniesta

+0

Вам нужно добавить имя файла в конец NSTemporaryDirectory(). (Нет, я не пробовал напрямую этот код, но это правильный способ сделать это, и нет причин, по которым он не должен работать.) – JosephH

+0

Хорошо, его работает спасибо! – iniesta

Смежные вопросы