Суббота, 21 февраля, 2009 | Автор:

Относительно новые типы документов Офис 2007 дал некоторые проблемы веб-хосты, когда их клиенты хотят предложить документы для скачивания. Чаще всего, документы, предлагаемые на веб-сервер, как “Текст / HTML” который затем отображается в виде тонну мусора на экране веб-пользователя.

Лучший способ решить этой цели является добавление все MIME типы в основной конфигурации сервера. IIS7 для Windows, уже эти типы MIME настроен неправильно по умолчанию. IIS6 и IIS5 требуют типы MIME, которые будут добавлены, как это может показаться Апаш на старых установок. Для Apache, есть также обходной путь для владельца индивидуального домена добавить типов электронной корреспонденции через в Apache .Htaccess файл.

IIS 6 Тип MIME дополнение (для администратора сервера)

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

  1. Нагрузка Диспетчер IIS: Пуск -> RООН, “INETMGR” -> [Хорошо]
  2. Щелкните правой кнопкой мыши “сервер” и нажмите “Ргoperties”
  3. В “Internet Information Services” таб (обычно вкладка только), гарантировать, что “Этонсостоянии Прямая Metabase Редактировать” флажок.
  4. Щелчок [Хорошо]

Обязательно резервное копирование конфигурации IIS в (здесь для IIS5) заранее. Я не возьму на себя ответственность за администратором сломал сервер. У меня есть основания полагать, что это может также работают на IIS5 однако у меня есть столько же оснований полагать, что это может быть просто дают много ошибок. Если IIS5 / Окна 2000 админ готов проверить это для меня после создания резервной копии конфигурация пожалуйста, дайте мне знать о результатах.

Скопируйте следующий текст в файл с именем msoff07-addmime.vbs и выполнить его один раз из командной строки, введя сзсгхрг msoff07-addmime.vbs и нажав Enter. Если вы запустите ее более одного раза, типы MIME будут добавлены каждый раз и у вас будет несколько одинаковых записей:

'Этот сценарий добавляет необходимый офис 2007 Типы MIME к IIS 6 Сервер.
"Для того, чтобы использовать этот скрипт, просто дважды щелкните или выполнить его из командной строки.
"Запуск этого сценария несколько раз результаты в нескольких записей в
"IIS MimeMap поэтому вы не должны запускать его более одного раза.
'Изменения от HTTP://msdn.microsoft.com/en-us/library/ms752346.aspx
 
Нет MimeMapObj, MimeMapArray, MimeTypesToAddArray, WshShell, oExec
Строительства ADS_PROPERTY_UPDATE = 2 
 
"Установить типы MIME, которые будут добавлены
MimeTypesToAddArray = Массив(". DOCM", "Application/vnd.ms-word.document.macroEnabled.12", _
". Docx", "Приложение / vnd.openxmlformats-officedocument.wordprocessingml.document", _
". DOTM", "Application/vnd.ms-word.template.macroEnabled.12", _
". DOTX", "Приложение / vnd.openxmlformats-officedocument.wordprocessingml.template", _
". Потм", "Application/vnd.ms-powerpoint.template.macroEnabled.12", _
". POTX", "Приложение / vnd.openxmlformats-officedocument.presentationml.template", _
". PPAM", "Application/vnd.ms-powerpoint.addin.macroEnabled.12", _
". ППСМ", "Application/vnd.ms-powerpoint.slideshow.macroEnabled.12", _
". PPSX", "Приложение / vnd.openxmlformats-officedocument.presentationml.slideshow", _
". Pptm", "Application/vnd.ms-powerpoint.presentation.macroEnabled.12", _
". PPTX", "Приложение / vnd.openxmlformats-officedocument.presentationml.presentation", _
". Sldm", "Application/vnd.ms-powerpoint.slide.macroEnabled.12", _
". Sldx", "Приложение / vnd.openxmlformats-officedocument.presentationml.slide", _
". Xlam", "Application/vnd.ms-excel.addin.macroEnabled.12", _
". XLSB", "Application/vnd.ms-excel.sheet.binary.macroEnabled.12", _
". XLSM", "Application/vnd.ms-excel.sheet.macroEnabled.12", _
". Xlsx", "Приложение / vnd.openxmlformats-officedocument.spreadsheetml.sheet", _
". XLTM", "Application/vnd.ms-excel.template.macroEnabled.12", _
". XLTX", "Приложение / vnd.openxmlformats-officedocument.spreadsheetml.template") 
 
'Получить объект mimemap
Набор MimeMapObj = GetObject("Вопросы,://Localhost / MimeMap")
 
"Вызов AddMimeType для каждой пары типа расширение / MIME
Для счетчик = 0 к UBound(MimeTypesToAddArray) Шаг 2
    AddMimeType MimeTypesToAddArray(счетчик), MimeTypesToAddArray(счетчик+1)
Следующий
 
'Создание объекта Shell
Набор WshShell = CreateObject("WScript.Shell")
 
'Остановить и запустить службу IIS
Набор oExec = WshShell.Exec("Чистая остановка w3svc")
Делать В то время как oExec.Статус = 0
    WScript.Сон 100
Петля
 
Набор oExec = WshShell.Exec("NET START w3svc")
Делать В то время как oExec.Статус = 0
    WScript.Сон 100
Петля
 
Набор oExec = Ничего
 
"Отчет о состоянии дел к пользователю
WScript.Эхо "Microsoft Office 2007 Типы документов MIME были зарегистрированы."
 
'AddMimeType Sub
Sub AddMimeType (Ext, MTYPE)
 
    "Получить отображения от собственности MimeMap.
    MimeMapArray = MimeMapObj.GetEx("MimeMap") 
 
    "Добавить новое сопоставление.
    я = UBound(MimeMapArray) + 1
    Redim Заповедник MimeMapArray(я)
    Набор MimeMapArray(я) = CreateObject("MimeMap")
    MimeMapArray(я).Расширение = Ext
    MimeMapArray(я).MimeType = MTYPE
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, "MimeMap", MimeMapArray
    MimeMapObj.SetInfo
 
Конец Sub

Apache MIME тип дополнение (для администратора сервера)

Apache хранит свои типы MIME в файле нормально расположенной на $InstallPath / конференции / mime.types. См. mod_mime документация для получения дополнительной информации, как это работает. Arch Linux устанавливает свои типы MIME на /и т.д. / HTTPD / конференции / mime.types и Parallels Plesk устанавливает его в /USR / местные / PSA / Admin / конференции / mime.types. Ваш дистрибутив может иметь его в другое место, так что найти ваш mime.types файл, запустив найти mime.types.

Добавьте следующие строки в файл mime.types:

application/vnd.ms-word.document.macroEnabled.12                          docm
application/vnd.openxmlformats-officedocument.wordprocessingml.document   docx
application/vnd.ms-word.template.macroEnabled.12                          dotm
application/vnd.openxmlformats-officedocument.wordprocessingml.template   dotx
application/vnd.ms-powerpoint.template.macroEnabled.12                    potm
application/vnd.openxmlformats-officedocument.presentationml.template     potx
application/vnd.ms-powerpoint.addin.macroEnabled.12                       ppam
application/vnd.ms-powerpoint.slideshow.macroEnabled.12                   ppsm
application/vnd.openxmlformats-officedocument.presentationml.slideshow    ppsx
application/vnd.ms-powerpoint.presentation.macroEnabled.12                pptm
application/vnd.openxmlformats-officedocument.presentationml.presentation pptx
application/vnd.ms-powerpoint.slide.macroEnabled.12                       sldm
application/vnd.openxmlformats-officedocument.presentationml.slide        sldx
application/vnd.ms-excel.addin.macroEnabled.12                            xlam
application/vnd.ms-excel.sheet.binary.macroEnabled.12                     xlsb
application/vnd.ms-excel.sheet.macroEnabled.12                            xlsm
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet         xlsx
application/vnd.ms-excel.template.macroEnabled.12                         xltm
application/vnd.openxmlformats-officedocument.spreadsheetml.template      xltx

Apache MIME тип дополнение (Для владельца домена с по крайней мере FTP доступ – используя. файл Htaccess)

Добавить следующий текст вашего домена .Htaccess файл, чаще всего в httpdocs / каталог

AddType application/vnd.ms-word.document.macroEnabled.12 DOCM
AddType Приложение / vnd.openxmlformats-officedocument.wordprocessingml.document DOCX
AddType application/vnd.ms-word.template.macroEnabled.12 DOTM
AddType Приложение / vnd.openxmlformats-officedocument.wordprocessingml.template DOTX
AddType application/vnd.ms-powerpoint.template.macroEnabled.12 потм
AddType Приложение / vnd.openxmlformats-officedocument.presentationml.template POTX
AddType application/vnd.ms-powerpoint.addin.macroEnabled.12 PPAM
AddType application/vnd.ms-powerpoint.slideshow.macroEnabled.12 ППСМ
AddType применение / vnd.openxmlformats-officedocument.presentationml.slideshow PPSX
AddType application/vnd.ms-powerpoint.presentation.macroEnabled.12 pptm
AddType Приложение / vnd.openxmlformats-officedocument.presentationml.presentation PPTX
AddType application/vnd.ms-powerpoint.slide.macroEnabled.12 sldm
AddType Приложение / vnd.openxmlformats-officedocument.presentationml.slide sldx
AddType application/vnd.ms-excel.addin.macroEnabled.12 XLAM
AddType application/vnd.ms-excel.sheet.binary.macroEnabled.12 XLSB
AddType application/vnd.ms-excel.sheet.macroEnabled.12 XLSM
AddType Приложение / vnd.openxmlformats-officedocument.spreadsheetml.sheet XLSX
AddType application/vnd.ms-excel.template.macroEnabled.12 XLTM
AddType Приложение / vnd.openxmlformats-officedocument.spreadsheetml.template XLTX
Поделиться
Вы можете следить за ответами к этой записи через RSS 2.0 подача. Вы можете оставить ответ, или Архив с вашего собственного сайта.

9 Ответы

  1. 1
    Стив 

    Я думаю, что есть опечатка в скрипте VB для IIS; расширение .xlt должно быть .xltm. Также, Еще два расширения должны быть добавлены:
    “.sldx”, “Приложение / vnd.openxmlformats-officedocument.presentationml.slide”, _
    “.sldm”, “Приложение / vnd.ms-powerpoint.slide.macroEnabled.12”, _

  2. Очень интересно, Стив.

    .xlt Это не опечатка, по-видимому, .xltm должна быть версия с поддержкой макросов из .xlt. Я сделаю некоторые исследования и настроить соответствующим образом.

    Благодаря!

  3. Ах, Вы на самом деле правильно, Стив. .XLTM / х новое, но это .xlt “старый” Шаблон таблицы Office Excel.

  4. Привет ! Он работал для меня. Даже без изменения прямого вариант метабазы ​​редактирования.

    Ура!
    Мацей

  5. 5
    Марио Араужо 

    Благодаря! 🙂

  6. 6
    R Sleegers 

    Очень мило – спас меня от неприятностей, набрав их в. “Обратите внимание, что необходимо перезапустить World Wide Web Publishing Service или ждать рабочий процесс, чтобы переработать, чтобы изменения вступили в силу.” ( http://support.microsoft.com/kb/326965 )

  7. Я не уверен, что утилизация необходима, если у Вас есть “обеспечивать[d] что ваш сервер также устанавливается, чтобы позволить редактирование метабазы ​​прямой”, за статьи.

  1. […] Источник: http://dogma.swiftspirit.co.za/archives/183 […]

  2. […] Оригинальная статья, где был найден сценарий здесь. […]

Оставить комментарий » Войти