Загрузка Docx из IE - настройка типов MIME в IIS - PullRequest
29 голосов
/ 07 октября 2008

Я уверен, что есть простой ответ на этот вопрос.

У меня есть файл docx, который я получаю при попытке загрузки (документ не может быть найден) .... .doc в порядке .txt также в порядке. Я уверен, что это просто настройка iis, разрешения на сервере одинаковы для всех файлов.

Ответы [ 4 ]

40 голосов
/ 07 октября 2008

Да, это просто настройка IIS: по умолчанию будет обслуживать только файлы, расширение которых соответствует определенному типу MIME .

Чтобы разрешить загрузку файлов .docx, выполните действия, описанные в статье базы знаний, указанной выше:

  1. Откройте IIS Microsoft Management Console (MMC), щелкните правой кнопкой мыши имя локального компьютера и выберите Свойства.
  2. Нажмите MIME Types.
  3. Нажмите Новый.
  4. В поле Расширение введите желаемое расширение имени файла (в данном случае .docx).
  5. В поле Тип MIME введите application / vnd.openxmlformats-officedocument.wordprocessingml.document (спасибо разработчику @web за указание на этот тип MIME, который заменяет «application / msword» из моего исходного ответа) .
  6. Применение новых настроек. Обратите внимание, что необходимо перезапустить службу публикации в Интернете или дождаться, пока рабочий процесс перезагрузится, чтобы изменения вступили в силу. В этом примере IIS теперь обслуживает файлы с расширением .docx.

Обратите внимание, что в статье базы знаний используется универсальный тип MIME application / octet-stream: хотя это, как правило, должно работать, если существует более конкретный тип MIME, такой как application / msword, всегда лучше использовать его.

27 голосов
/ 17 марта 2009

На шаге 5 решения выше вы сказали

В поле MIME Type введите application / msword.

MIME-тип "application / msword" - это тип файлов ".doc" для слова 2003 Правильный тип MIME для файлов Word 2007 ".docx":

Приложение / vnd.openxmlformats-officedocument.wordprocessingml.document

См. этот пост.

9 голосов
/ 20 октября 2009

Спасибо, это очень полезно.

Если вас интересует MIME-тип для .pptx (Powerpoint 2007) -

application / vnd.openxmlformats-officedocument.presentationml.presentation

и .xlsx (Excel 2007) -

Приложение / vnd.openxmlformats-officedocument.spreadsheetml.sheet

[Они были транспонированы. Я исправил это сейчас, спасибо, что указал на Свена.]

3 голосов
/ 07 октября 2008

Если с IIS не связан тип mime с расширением (6.0 и выше), он выдаст 404. См. Запросы для статических файлов возвращают ошибку 404 (IIS 6.0) . ( Редактировать: Исходная ссылка MSDN по состоянию на середину 2017 года не работает, В интернет-архиве есть копия . Несмотря на то, что она была написана для IIS6, информация по-прежнему применима к современным версиям IIS .)

Кроме этого, и только потому, что вы не указали , где , появляется ошибка: когда вы запрещаете кэширование в заголовке, подобное поведение может происходить на клиенте. Но это общая проблема, не связанная с .docx.

...