我在 Windows 8 中运行 VS 2012(在 mac os x 中托管的虚拟机上)。C# 中的 MVC 3。
当用户选择一个文档时,它应该在一个新的浏览器窗口中打开。
当前:Chrome (v24.0.1312.56 m) - 根据需要在新窗口中打开
Firefox (v18.0.1) - 提示用户打开或保存。在 TWinUI 中打开(呃)(和下载)。
IE (v10.0.9200.16466) - 提示用户打开或保存。在 TWinUI 中打开
这是代码:
[HttpGet]
public ActionResult Details(int id)
{
Document document = portalDB.Documents.Find(id);
Response.Headers.Remove("Content-Disposition");
Response.Headers.Add("Content-Disposition", "inline; filename=" + document.FileName);
return File(System.IO.Path.Combine(Server.MapPath("~/App_Data/Documents"), document.FileName), "application/pdf");
}
这是 IE 响应标头:
Key Value
Response HTTP/1.1 200 OK
Cache-Control private, s-maxage=0
Content-Type application/pdf
Server Microsoft-IIS/8.0
X-AspNetMvc-Version 3.0
Content-Disposition inline; filename=DeclarationAndByLaws.pdf
X-AspNet-Version 4.0.30319
X-SourceFiles =?UTF-8?B?YzpcdXNlcnNcbWlrb1xkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDEyXFByb2plY3RzXENlZGFyQXBwbGljYXRpb25cQ2VkYXJBcHBsaWNhdGlvblxQb3J0YWxcRGV0YWlsc1wx?=
X-Powered-By ASP.NET
Date Mon, 28 Jan 2013 22:01:52 GMT
Firefox:无法获取标题,因为 firebug 没有通过下载提示持续存在。