我在控制器上有一个返回文件的方法
public FileResult DownloadFile(int id)
{
var file = _repository.GetInidividualFile(id);
return File(file.FileBinary, file.ContentType, file.FileName);
}
文件对象正确返回值,但 IE9 没有选择内容类型。我拥有的当前文件类型列表是:
'应用程序/pdf'
'应用程序/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
'应用程序/vnd.ms-excel'
所有其他浏览器似乎工作正常,但 IE 似乎只是忽略了扩展。我遇到的问题是,由于该文件是在没有扩展名的情况下下载的,因此会提示用户选择使用哪个应用程序打开文件,但他们不知道。
我在 firefox、chrome、safari 和 opera 中尝试过,一切都很好
这是调试器的视图,显示了返回的值
这是 fiddler 显示内容类型的输出:
HTTP/1.1 200 正常
服务器:ASP.NET 开发服务器/10.0.0.0
日期:格林威治标准时间 2013 年 2 月 19 日星期二 10:16:41
X-AspNet-版本:4.0.30319
X-AspNetMvc-版本:3.0
内容处置:附件;filename="配置工具"
缓存控制:私有
内容类型:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
内容长度:491470
连接:关闭