2010-05-24 119 views
5

我想在iphone中查看.doc,.docx,.rtf,.ppt文件。在iphone中使用Webview查看.doc,.docx,.rtf,.ppt文件

但我猜想我的一邊出了問題,它不適用於上述格式,但我的代碼工作正常.txt和.pdf文件。

我已閱讀關於Webview的文檔,它聲明它支持查看上述文檔。

下面

是我的.doc

[webView loadData:requestData MIMEType:@"application/msword" textEncodingName:@"UTF-8" baseURL:nil]; 

片段爲我使用的MIME類型.PPT作爲"application/vnd.ms-powerpoint"

注:如果我做的MIME類型爲 「text/html的」 爲.DOC/.rtf然後它顯示一些垃圾數據所以我認爲從我身邊的MIME類型中缺少一些東西。

任何幫助,高度讚賞。

等待您的答覆。

更新:........

似乎有一些問題與NSData的打開這些類型的文件格式。 我的數據是加密的,所以我不能用 requestWithURL直接和其他的事情是我需要傳遞憑證來獲取文件和憑據proplerly不工作,如果我救使用

[[NSURLCredentialStorage sharedCredentialStorage] setDefaultCredential:credential 
             forProtectionSpace:protectionSpace]; 

的憑據,然後進行使用以下

[webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]] ] 

要求有什麼辦法,我可以使用的NSData爲上述格式,這樣我可以做異步調用,並通過我的憑據,然後對數據進行解密,並顯示在網頁視圖。

+0

請參閱本集MIME類型(適用於PPTX)中 - http://stackoverflow.com/questions/4212861/what-is-a -correct-mime-type-for-docx-pptx-etc – 2017-03-17 20:03:01

回答

4

並非所有的(DOCX)都支持這些格式。這看起來像official word。在這個例子中,Apple沒有指定MIME類型。

This question建議您必須使用NSURLRequest而不是loadData。

編輯:

據我所看到的,你不能直接將數據傳遞給loadData這些類型。

簡單的解決方法是寫入臨時文件。您可以在webViewDidFinishLoad中刪除它,或者在技術上,只要打開文件即可。

辛苦的工作是使用NSURLCache。你應該能夠實現一個自定義的NSURLCache並讓WebKit通過setSharedURLCache來使用它。你的緩存基本上知道如何獲得你的本地加密文件並假裝它們被緩存。我沒有嘗試過,但我認爲這是你最好的選擇。這種方法可能像loadData一樣被阻塞。

+1

感謝您的回覆。 數據被加密,所以看起來我不能直接使用NSURLRequest。有什麼辦法可以使用NSData打開我的.doc,.ppt文件。 – Ekra 2010-05-25 06:48:03

+1

感謝您的回覆。 我有嘗試過的第一種方法它的工作。 第二種方法的工作 – Ekra 2010-05-26 19:55:07

0

嘗試在iPhone上,而不是模擬器

3

你需要提供一些東西給baseURL :.例如:

[webView loadData:requestData MIMEType:@"application/msword" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"http://localhost/"]]; 

現在適用於我。

5

嘗試使用QuickLook框架,這是Apple給出的一個驚人的功能。如果你看到這樣的情況,當你在MAC系統上選擇任意文件並點擊空格鍵時,你將快速預覽你的文件,它可能是任何東西...... * .pdf,* .doc,* .docx或任何東西。 ..即使你沒有安裝這些軟件的相同的文件,你會得到這些文件的預覽...

QuickLook框架也提供相同的功能...請通過一些相同的鏈接。 。

+1

我知道你想使用WebView,但這也是最好的任何文件... :) – DShah 2012-01-16 16:30:33

+1

感謝您的評論。我也會尋找這個選項 – Ekra 2012-01-25 05:54:29