Я хочу просмотреть .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 для вышеупомянутых форматов так, чтобы я мог выполнить асинхронный вызов и передать мои учетные данные и затем дешифровать данные и показать его в веб-представлении.
Не все из этих форматов (docx) поддерживаются. Это похоже на официальное слово. В примере Apple не указывает тип mime.
Этот вопрос предполагает, что вместо loadData нужно использовать NSURLRequest.
Edit:
Насколько я понял, для этих типов нельзя напрямую передавать данные в loadData.
Простым решением является запись во временный файл. Вы можете удалить его в webViewDidFinishLoad или, технически, как только файл будет открыт.
Сложный способ - использовать NSURLCache. Вы должны быть в состоянии реализовать собственный NSURLCache и заставить WebKit использовать его через setSharedURLCache. Ваш кэш будет в основном знать, как получить ваши локальные зашифрованные файлы и притвориться, что они кэшированы. Я не пробовал, но думаю, что это лучший вариант. Этот подход может быть заблокирован так же, как и loadData.