Подтвердить что ты не робот

Форматы файлов, поддерживаемые UIWebView

Каковы все форматы файлов, поддерживаемые UIWebView? В ходе тестирования я обнаружил, что он поддерживает XLS, DOC, PPT, PDF, но не XLSX, DOCX, RTF.

Он поддерживает файлы изображений, такие как JPG, PNG, GIF, BMP, не уверен в TIFF или

Точно, что поддерживаются все типы, неясно...

В документации UIWebView также четко не указано.

Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Техническая заметка доступна на веб-сайте Apple о форматах файлов, поддерживаемых UIWebView:

Так как iPhone OS 2.2.1

  • Excel (.xls)
  • Keynote (.key.zip)
  • Числа (.numbers.zip)
  • Страницы (.pages.zip)
  • PDF (.pdf)
  • Powerpoint (.ppt)
  • Слово (.doc)

Так как iPhone OS 3.0

  • Формат Rich Text (.rtf)
  • Каталог Rich Text Format (.rtfd.zip)
  • Keynote '09 (.key)
  • Числа '09 (.numbers)
  • Страницы '09 (.pages)

Ответ 2

Я тоже ищу окончательный ответ на этот вопрос.

В то время как Tech Note сообщает нам, какие форматы высокого уровня поддерживаются, он не сообщает нам, какие простые форматы, например. типы изображений. Мне нужна эта информация, однако, чтобы веб-сервер знал, какие форматы он может отправить мне (т.е. Через HTTP-заголовок "Принять" ).

Обновление

На самом деле, здесь документы от Apple по поддерживаемым форматам изображений от UIWebView: http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/GraphicsandDrawing/GraphicsandDrawing.html#//apple_ref/doc/uid/TP40007072-CH10-SW8

Ответ 3

Файлы

.rtf, по-видимому, поддерживаются, но я не смог заставить UIWebView правильно отображать их. Он правильно форматировал текст (размер, цвет, шрифт и т.д.), Но изображения просто не отображались (я пробовал .gif,.png и .jpg безрезультатно). есть вероятность, что если вы столкнулись с проблемой использования .rtf, вы, вероятно, надеетесь отобразить изображения в UIWebView, так как основное преимущество rtf заключается в том, что вы можете вставлять изображения в файл. Это было проверено на реальном iPad 1 (4.3) и на моделированном iPhone (4.3).

Код, созданный для отображения rtf в UIWebView, требовал, чтобы rtf записывался в файл с расширением файла rtf. Он отказался загружать файл, если вы не используете расширение файла или неправильное, поэтому убедитесь, что вы пишете его как .rtf.

Вот функция Objective C, чтобы взять входную строку (которая должна содержать rtf, которую вы хотите отобразить), и заставить UIWebView загрузить его в поле зрения...

-(void) loadRtf : (UIWebView*) webView : (std::string) rtfFile
{
    // This function will write the rtf to a file in your apps bundle location on the iDevice and use
    // the UIWebView to load it...
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([path count] > 0) ? [path objectAtIndex:0] : nil;
    NSString *fullPath = [basePath stringByAppendingPathComponent:@"rtfData.rtf"];
    std::string fp = [fullPath cStringUsingEncoding:NSASCIIStringEncoding];
    std::ofstream fs;
    fs.open(fp.c_str(), std::ios_base::binary);
    if( !fs.is_open() )
        return;
    fs << rtfFile;
    fs.close(); 
    NSURL *url = [NSURL fileURLWithPath:fullPath];
    NSURLRequest *request = [NSURLRequest requestWithURL:url];
    [webView loadRequest:request];  
}