私はファイルを返すコントローラーのメソッドを持っています
public FileResult DownloadFile(int id)
{
var file = _repository.GetInidividualFile(id);
return File(file.FileBinary, file.ContentType, file.FileName);
}
ファイルオブジェクトは値を正しく返していますが、IE9はコンテンツタイプを取得していません。私が持っているファイルタイプの現在のリストは次のとおりです。
'application / pdf'
'application / vnd.openxmlformats-officedocument.spreadsheetml.sheet'
'application / vnd.ms-excel'
他のすべてのブラウザは正常に動作しているようですが、IEは拡張機能を無視しているようです。私が抱えている問題は、ファイルが拡張子なしでダウンロードされているため、ユーザーはファイルを開くアプリケーションを選択するように求められますが、ユーザーにはわからないということです。
Firefox、Chrome、Safari、Operaで試してみましたが、すべて問題ありません。
返される値を示すデバッガーのビューは次のとおりです
コンテンツタイプを示すフィドルからの出力は次のとおりです。
HTTP / 1.1 200 OK
サーバー:ASP.NET開発サーバー/10.0.0.0
日付:2013年2月19日火曜日10:16:41 GMT
X-AspNet-バージョン:4.0.30319
X-AspNetMvc-バージョン:3.0
コンテンツ-処分:添付ファイル; filename="プロビジョニングツール"
キャッシュ制御:プライベート
コンテンツタイプ:application / vnd.openxmlformats-officedocument.spreadsheetml.sheet
コンテンツ-長さ:491470
接続:閉じる