我需要在对象标签的HTML页面中显示文件
我使用C#MVC4发送文件。在我的代码中,我设置了" Content-Type"和"内容 - 处置"头。
当我将内容类型设置为Chrome不知道的内容时,它将下载该文件,而不管内容处理"报头中。
<div>
<object data="http://localhost/UncHelper?path=secrectPath\file.dwg"></object></div>
public override void ExecuteResult(ControllerContext context)
{
context.RequestContext.HttpContext.Response.AddHeader("Content-Type", _contentType);
context.RequestContext.HttpContext.Response.AddHeader("Content-Disposition", "inline; filename=\"" + _fileName + "\"");
context.HttpContext.Response.WriteFile(_uncPath);
context.HttpContext.Response.End();
}
当我尝试显示pdf文件(_contentType = application / pdf)时,一切都很好 但是当我尝试显示.dwg(_contentType = application / dwg)时,Chrome会下载该文件。我怎么能阻止这个?
(我不想根据浏览器或其他任何内容设置203的HTML状态。)
谢谢!
答案 0 :(得分:0)
这是不可能的,我认为这也是你的一个小误会。要使浏览器能够显示文件,首先必须下载它。这适用于所有文件类型。例如,如果您正在显示image/jpeg
的图像,并且处置设置为inline
,则浏览器仍会下载图像,然后将其显示为内联,而不是询问用户他/她将在哪里喜欢保存它。如果浏览器不知道如何显示文件,则这不是一个选项,并且默认为唯一的其他选项,即询问用户将其保存在何处。