IIS MIME TYPE 站台設定

  • 1957
  • 0

今天在練習開發 JQuery EasyUI 在使用 Sample Code 時 出現 ...  因為網頁伺服器上設定的多用途網際網路郵件延伸標準(MIME)對應原則,而無法提供您要求的網頁。....

官網範本

    <table id="dg" class="easyui-datagrid" title="Row Editing in DataGrid" style="width:700px;height:auto"
            data-options="
                iconCls: 'icon-edit',
                singleSelect: true,
                toolbar: '#tb',
                url: 'datagrid_data1.json',
                method: 'get',
                onClickCell: onClickCell,
                onEndEdit: onEndEdit
            ">
.....
.....
</table>

結果一執行就報錯…後來研究解法,最簡單的是將url:datagrid_data1.json 改為 datagrid_data1.txt

另外真的要支援這種格式的讀取,要在IIS 或 Web.config 設定

詳細可以參考 限量ㄟ蓋步 文章分享 ,以下內容轉載。


 

網路傳輸格式有MIME格式類型,text/xml, application/json...等,在開發ASP.NET時,其實這些格式類型對應的副檔名已經在IIS上定義,所以在Request相關格式資料時才能準確Mapping到,然而其實.json副檔名預設在IIS上是沒定義的,所以限量要在本篇文章中教大家如何定義JSON檔案,讓網頁能夠取得.json副檔名的json資料。
 

在沒有明確定義JSON的MIME格式時,如果網頁Request一個.json副檔名的檔案,會發生以下錯誤,此錯誤就是說沒有找到對應的MIME格式,叫你去設定完後才能用。

第一種是從IIS上下手

從IIS上設定可以選擇全域的MIME設定或單一站台的MIME設定,全域的話,該Server皆會有此MIME設定,單一則只有此站台才有這個MIME設定,下面就教大家如何在IIS上單一站台上設定MIME。

首先打開IIS選擇欲設定的站台,在中間部分找到MIME類型的選項。

Double Click進入設定可以看到目前定義的所有MIME類型,接著在左方按下新增,輸入副檔名與對應的MIME類型。

確定後重新啟動站台就OK。

如果要設定全域的MIME設定就點選站台上一層的本機電腦,按照前面設定OK了。

第二種方式是在ASP.NET專案上下手

限量在這裡用ASP.NET MVC專案作為對象,只要在專案Root底下的Web.config檔加入下列設定:

(注意:ASP.NET MVC有兩種Web.config,一個在ASP.NET Root底下,這個Web.config代表的是整個ASP.NET MVC專案的設定;另一個在View資料夾下的Web.config,這個Web.config主要控制該Controller的頁面設定,例如存取權限。)  << 這段 對MVC 還不夠熟悉,未來可以注意一下。


其實在ASP.NET專案設定好MIME類型後,IIS上該專案的站台MIME類型也會設定好,因為IIS站台也是讀取此專案資料夾內的資料,所以設定也是從Web.config裡取得,故如果想從IIS設定的話建議是設定全域,不然直接從專案裡設定就好了。