豚吐露@wiki

IISExpressで拡張子の無いファイルをdownloadしたい

最終更新:

ohden

- view
管理者のみ編集可

IIS Expressで拡張子の無いファイルをdownloadしたい

Windows 7-64bit Professional
IIS Express 8.5(Visual Studio 2013 Professional)

IIS Expressは、初期設定では、指定された拡張子のファイルしかdownload対象として処理されないみたい。


いきなり『404.17』とか出られても困る。(´・ω・`)


なので、downloadできるようにしたいファイルの拡張子のmime typeを追加してやればちゃんと処理されるようになる。
拡張子の無いファイルの場合は、以下の通り。

> cd "\Program Files (x86)\IIS Express"\
> appcmd set config "KizonSite" /section:staticContent /+[fileExtension='.',mimeType='application/octet-stream']
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST/KizonSite" の "MACHINE/WEBROOT/APPHOST/KizonSite" のセクション "system.webServer/staticContent" に適用しました

大事なのは当然appcmdコマンド。
『KizonSite』は、applicationhost.configに書かれてるサイト名のみを対象にmime typeを追加したい場合。環境に合わせて書き換えたらok。
IIS Express全体に適用したいんなら、サイト名を省略してやれば良い。
拡張子が無い場合の指定として『fileExtension』に『.』を指定する。
mimeTypeは、downloadができるようになれば何でも良いんだけど...とりあえず『application/octet-stream』を指定しといた。

あと、軽くハマったんじゃけど、『[』から『]』の間に無駄な半角スペースとか入れると、こんな感じで怒られる。
以下は、『,mimeType』を『, mimeType』にしてしまった例。(´・ω・`)
入力を処理できません: パラメーター 'mimeType='application/octet-stream']' は / または - で始まる必要があります (HRESULT=80070057).


上記の設定を削除したり変更したりしたい場合。

削除は以下のようにする。設定時の『+』が『-』に変わっただけ。
> appcmd set config "KizonSite" /section:staticContent /-[fileExtension='.',mimeType='application/octet-stream']
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST/KizonSite" の "MACHINE/WEBROOT/APPHOST/KizonSite" のセクション "system.webServer/staticContent" に適用しました

で、変更時は、上書きで変更とかできないので、削除した後に、新しい設定を追加してやること。
> appcmd set config "KizonSite" /section:staticcontent /+[fileExtension='.',mimeType='text/plain']
構成変更を構成コミット パス "MACHINE/WEBROOT/APPHOST/KizonSite" の "MACHINE/WEBROOT/APPHOST/KizonSite" のセクション "system.webServer/staticContent" に適用しました



更新日: 2015年04月14日 (火) 11時41分01秒

名前:
コメント:

すべてのコメントを見る
添付ファイル
記事メニュー
目安箱バナー