阻止Chrome下载文件

本文关键字:文件 下载 Chrome 阻止 | 更新日期: 2023-09-27 18:18:24

我需要在一个object标签中显示HTML页面中的文件。
我使用c# MVC4发送文件。在我的代码中,我设置了"content - type"answers";Content-Disposition"头。
当我将Content-Type设置为Chrome不知道的内容时,它将下载文件,而不管"content - disposition"如何设置。头。

HTML:

<div>
<object data="http://localhost/UncHelper?path=secrectPath'file.dwg"></object></div>
c#

:

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将下载该文件。我该如何预防呢?

(我不想根据浏览器或类似的东西将HTML状态设置为203)

谢谢!

阻止Chrome下载文件

这是不可能的,我认为这也是你的一个小误解。要使浏览器能够显示文件,首先必须下载文件。这适用于所有文件类型。例如,如果您要显示image/jpeg的图像,配置设置为inline,浏览器仍然下载该图像,然后将其内联显示,而不是询问用户他/她想要保存它的位置。如果浏览器不知道如何显示文件,那么这不是一个选项,并且将默认使用唯一的其他选项,即询问用户将文件保存在何处。