просмотрите .doc, .docx, .rtf, .ppt файл в использовании iPhone Webview

Я хочу просмотреть .doc, .docx, .rtf, .ppt файл в iPhone.

Но я предполагаю, что что-то идет не так, как надо рядом и не, работа для вышеупомянутых форматов, но моего кода хорошо работает для файлов pdf и .txt.

У меня есть чтение документ относительно Webview, это указывает, что поддерживает просмотр вышеупомянутого документа.

ниже мой отрывок для .doc

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

для .ppt я использую тип MIME как "application/vnd.ms-powerpoint"

Примечание: Если я делаю тип MIME как "текст/HTML" для .doc/.rtf затем, он отображает некоторые данные мусора, Таким образом, я думаю, что существует что-то отсутствующее в типе MIME в моей стороне.

Любая справка высоко ценится.

Жду Вашего ответа.

Update:........

Кажется, что существует некоторая проблема с NSData для открытия подобных форматов файлов. Мои данные шифруются так, я не могу использовать requestWithURL непосредственно, и другая вещь, я должен передать учетные данные для получения файла, и учетные данные не работают proplerly, если я сохраняю использование учетных данных

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

и затем сделайте использование запроса ниже

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

Есть ли любой способ, которым я могу использовать NSData для вышеупомянутых форматов так, чтобы я мог выполнить асинхронный вызов и передать мои учетные данные и затем дешифровать данные и показать его в веб-представлении.

5
задан beryllium 10 January 2012 в 12:47
поделиться

2 ответа

Не все из этих форматов (docx) поддерживаются. Это похоже на официальное слово. В примере Apple не указывает тип mime.

Этот вопрос предполагает, что вместо loadData нужно использовать NSURLRequest.

Edit:

Насколько я понял, для этих типов нельзя напрямую передавать данные в loadData.

Простым решением является запись во временный файл. Вы можете удалить его в webViewDidFinishLoad или, технически, как только файл будет открыт.

Сложный способ - использовать NSURLCache. Вы должны быть в состоянии реализовать собственный NSURLCache и заставить WebKit использовать его через setSharedURLCache. Ваш кэш будет в основном знать, как получить ваши локальные зашифрованные файлы и притвориться, что они кэшированы. Я не пробовал, но думаю, что это лучший вариант. Этот подход может быть заблокирован так же, как и loadData.

4
ответ дан 13 December 2019 в 05:31
поделиться

Попробуйте на iPhone вместо симулятора

0
ответ дан 13 December 2019 в 05:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: