星期六, 2月21日, 2009 | 筆者:

較新的文件類型 辦公室 2007 給一些web主機的問題時,他們的客戶希望提供下載的文件. 最常見, 該文件正在提供由Web服務器作為 “text / html類型” 然後將其呈現為網絡用戶的屏幕上一噸垃圾.

解決這一問題的最佳方法是增加所有 MIME 類型服務器的主要配置. IIS7 對於Windows已經具有正確設置默認情況下,這些MIME類型. IIS6與IIS5需要添加的MIME類型, 作為威力 阿帕奇 在舊設備. 對於Apache, 還有一種解決方法為個人站點所有者通過Apache的添加mime類型 .htaccess的 文件.

IIS 6 MIME類型除 (對於服務器管理員)

以前這是可以做到, 確保您的服務器也設置為允許直接編輯配置數據庫:

  1. 負載 IIS管理器: 開始 - > Ř聯合國, “INETMGR” -> [行]
  2. 用鼠標右鍵單擊該 “服務器” 並點擊 “PŘoperties”
  3. 內 “Internet信息服務” 標籤 (通常是唯一的選項卡), 確保該 “它Ñ能夠直接編輯配置數據庫” 複選框被選中.
  4. 點擊 [行]

一定要 備份IIS配置 (這裡 對於IIS5) 預. 我不會為管理任何責任打破他的服務器. 我有理由相信這 可能 也可以用在IIS5但是我有同樣多的理由相信,它可能只是給很多錯誤. 如果IIS5 / 視窗 2000 管理員願意測試這個對我來說 備份後 你的配置請讓我知道結果.

下面的文字複製到一個文件名為msoff07-addmime.vbs並執行它 一旦 在命令行中鍵入 CSCRIPT 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", “應用程序/ vnd.ms-word.document.macroEnabled.12", _
“的.docx", “應用程序/ vnd.openxmlformats-officedocument.wordpro​​cessingml.document", _
“.dotm", “應用程序/ vnd.ms-word.template.macroEnabled.12", _
“.DOTX", “應用程序/ vnd.openxmlformats-officedocument.wordpro​​cessingml.template", _
“.potm", “應用程序/ vnd.ms-powerpoint.template.macroEnabled.12", _
“.potx", “應用程序/ vnd.openxmlformats-officedocument.presentationml.template", _
“.ppam", “應用程序/ vnd.ms-powerpoint.addin.macroEnabled.12", _
“.ppsm", “應用程序/ vnd.ms-powerpoint.slideshow.macroEnabled.12", _
“.ppsx", “應用程序/ vnd.openxmlformats-officedocument.presentationml.slideshow", _
“.pptm", “應用程序/ vnd.ms-powerpoint.presentation.macroEnabled.12", _
“.PPTX", “應用程序/ vnd.openxmlformats-officedocument.presentationml.presentation", _
“.sldm", “應用程序/ vnd.ms-powerpoint.slide.macroEnabled.12", _
“.sldx", “應用程序/ vnd.openxmlformats-officedocument.presentationml.slide", _
“.xlam", “應用程序/ vnd.ms-excel.addin.macroEnabled.12", _
“.xlsb", “應用程序/ vnd.ms-excel.sheet.binary.macroEnabled.12", _
“.xlsm", “應用程序/ vnd.ms-excel.sheet.macroEnabled.12", _
“的.xl​​sx", “應用程序/ vnd.openxmlformats-officedocument.spreadsheetml.sheet", _
“.xltm", “應用程序/ vnd.ms-excel.template.macroEnabled.12", _
“.xltx", “應用程序/ vnd.openxmlformats-officedocument.spreadsheetml.template") 
 
'獲取mimemap對象
 MimeMapObj = GETOBJECT(“IIS://本地主機/ 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的.迴聲 “微軟辦公 2007 文檔的MIME類型已經被註冊。"
 
“AddMimeType子
 AddMimeType (轉, M型)
 
    “從獲得的MimeMap屬性的映射.
    MimeMapArray = MimeMapObj.GETEX(“MimeMap") 
 
    “添加新的映射.= UBound函數(MimeMapArray) + 1
    越來越胖 保存MimeMapArray()
     MimeMapArray() = 的CreateObject(“MimeMap")
    MimeMapArray().延期 = 轉
    MimeMapArray().Mime類型 = MTYPE
    MimeMapObj.PutEx ADS_PROPERTY_UPDATE, “MimeMap", MimeMapArray
    MimeMapObj.SetInfo
 
結束 

Apache的MIME類型除 (對於服務器管理員)

阿帕奇存儲其MIME類型中通常位於一個文件 $安裝路徑/ conf目錄/ mime類型. 看到mod_mime 文檔 更多關於它是如何工作. Arch Linux的 在安裝它的MIME類型 /ETC /的httpd / conf目錄/ mime類型的Parallels Plesk 在安裝它 /USR /本地/ PSA /管理/ conf目錄/ mime類型. 你的發行版可能會在另一個地方, 所以找到你 的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 應用程序/ vnd.ms-word.document.macroEnabled.12 DOCM
將AddType 應用程序/ vnd.openxmlformats-officedocument.wordpro​​cessingml.document的docx
將AddType 應用程序/ vnd.ms-word.template.macroEnabled.12 dotm
將AddType 應用程序/ vnd.openxmlformats-officedocument.wordpro​​cessingml.template DOTX
將AddType 應用程序/ vnd.ms-powerpoint.template.macroEnabled.12 POTM
將AddType 應用程序/ vnd.openxmlformats-officedocument.presentationml.template POTX
將AddType 應用程序/ vnd.ms-powerpoint.addin.macroEnabled.12 PPAM
將AddType 應用程序/ vnd.ms-powerpoint.slideshow.macroEnabled.12 PPSM
將AddType 應用程序/ vnd.openxmlformats-officedocument.presentationml.slideshow PPSX
將AddType 應用程序/ vnd.ms-powerpoint.presentation.macroEnabled.12 PPTM
將AddType 應用程序/ vnd.openxmlformats-officedocument.presentationml.presentation PPTX
將AddType 應用程序/ vnd.ms-powerpoint.slide.macroEnabled.12 sldm
將AddType 應用程序/ vnd.openxmlformats-officedocument.presentationml.slide sldx
將AddType 應用程序/ vnd.ms-excel.addin.macroEnabled.12 xlam
將AddType 應用程序/ vnd.ms-excel.sheet.binary.macroEnabled.12 XLSB
將AddType 應用程序/ vnd.ms-excel.sheet.macroEnabled.12 XLSM
將AddType 應用程序/ vnd.openxmlformats-officedocument.spreadsheetml.sheet XLSX
將AddType 應用程序/ vnd.ms-excel.template.macroEnabled.12 XLTM
將AddType 應用程序/ vnd.openxmlformats-officedocument.spreadsheetml.template xltx
分享
您可以通過,這是一條任何反應 RSS 2.0 飼料. 您可以 留下回應, 或 引用通告 從您自己的網站.

9 回复

  1. 1
    Steve 

    I think there is a typo in the vb script for IIS; the .xlt extension should be .xltm. 還, two more extensions should be added:
    “.sldx”, “application/vnd.openxmlformats-officedocument.presentationml.slide”, _
    “.sldm”, “application/vnd.ms-powerpoint.slide.macroEnabled.12”, _

  2. 2
    狡猾 

    Very interesting, Steve.

    The .xlt isn’t a typo, apparently .xltm is supposed to be the macro-enabled version of .xlt. I’ll do some research and adjust appropriately.

    謝謝!

  3. 3
    狡猾 

    Ah, you’re actually correct, Steve. .xltm/x is new but .xlt is the “老” Office Excel spreadsheet template.

  4. Hi ! It worked for me. Even without changing the direct metabase edit option.

    Cheers!
    Maciej

  5. 5
    Mário Araújo 

    謝謝! 🙂

  6. 6
    řSleegers 

    Very nicesaved me the trouble of typing them in. “Note that you must restart the World Wide Web Publishing Service or wait for the worker process to recycle for the changes to take effect.” ( http://support.microsoft.com/kb/326965 )

  7. 7
    狡猾 

    I’m not sure a recycle is necessary if you’veensure[d] that your server is also set to allow direct metabase editing”, per the article.

  1. […] Source: http://dogma.swiftspirit.co.za/archives/183 […]

  2. […] The original article where the script was found is here. […]

發表評論 » 登錄