Displaying ppt, doc, and xls in UIWebView doesn't work but pdf does

Posted by slugolicious on Stack Overflow See other posts from Stack Overflow or by slugolicious
Published on 2010-03-25T23:20:45Z Indexed on 2010/03/25 23:23 UTC
Read the original article Hit count: 467

Filed under:
|
|

It looks like a few people on stackoverflow get this to work but their code isn't posted. I'm using

[web loadData:data MIMEType:MIMEType textEncodingName:@"UTF-8" baseURL:nil];

where MIMEType is:

  • @"application/vnd.ms-powerpoint"
  • @"application/vnd.ms-word"
  • @"application/vnd.ms-excel"

(BTW, I've seen DOC files use mimetype @"application/msword" but the "vnd" version seems more appropriate. I tried both just in case.)

I verified that my 'data' is correct. PDF and TXT files work. When the UIWebView displays PPT, DOC, or XLS files, it's blank. I put NSLOG statements in my UIWebViewDelegate calls.

  shouldStartLoadWithRequest:<NSMutableURLRequest about:blank> navType:5
  webViewDidStartLoad:
  didFailLoadWithError:Error Domain=NSURLErrorDomain Code=100 UserInfo=0x122503a0 "Operation could not be completed. (NSURLErrorDomain error 100.)"
  didFailLoadWithError:Error Domain=WebKitErrorDomain Code=102 UserInfo=0x12253840 "Frame load interrupted"

so obviously the load is failing, but why? If I change my mimetype to @"text/plain" for a PPT file, the UIWebView loads fine and displays unprintable characters, as expected. That's telling me the 'data' passed to loadData: is ok.

Meaning my mimetypes are bad?

And just to make sure my PPT, DOC, and XLS files are indeed ok to display, I created a simple html file with anchor tags to the files. When the html file is displayed in Safari on the iPhone, clicking on the files displays correctly in Safari.

I tried to research the error code displayed in didFailLoadWithError (100) but all the documented error codes are negative and greater than 1000 (as seen in NSURLError.h).

-(void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { NSLog(@"didFailLoadWithError:%@", error); }

© Stack Overflow or respective owner

Related posts about iphone

Related posts about iphone-sdk