Asp.net 下载文件是使用IIS在Chrome浏览器中直接打开文件,而不是下载文件

Asp.net 下载文件是使用IIS在Chrome浏览器中直接打开文件,而不是下载文件,asp.net,iis,webforms,iis-express,Asp.net,Iis,Webforms,Iis Express,文件下载在MicrosoftEdge、Firefox和Safari浏览器中运行良好,但在Chrome中,它不是下载文件,而是直接打开文件。我还想补充一点,只有当应用程序托管在IIS和IISExpress中时,这种行为才可以正常工作。为什么我会在使用Chrome的IIS中出现这种行为,以及如何解决这个问题 protected void btnDownloadFile_Click(object sender, EventArgs e) { string fileFullPath = @"E:

文件下载在MicrosoftEdge、Firefox和Safari浏览器中运行良好,但在Chrome中,它不是下载文件,而是直接打开文件。我还想补充一点,只有当应用程序托管在IIS和IISExpress中时,这种行为才可以正常工作。为什么我会在使用Chrome的IIS中出现这种行为,以及如何解决这个问题

protected void btnDownloadFile_Click(object sender, EventArgs e)
{
    string fileFullPath = @"E:\AllFiles\History\John's certificate.doc";
    FileInfo fileInfo = new FileInfo(fileFullPath);
    if (fileInfo.Exists)
    {
        Response.Clear();
        Response.ClearHeaders();
        Response.ClearContent();

        Response.AddHeader("Content-Disposition", "attachment; filename=\"" + fileInfo.Name + "\"");
        Response.AddHeader("Content-Length", fileInfo.Length.ToString());

        Response.ContentType = MIMETypeHelper.GetMimeType(fileInfo.Extension); // This method supplies the contenttype based on file extention for example if .doc extension returns application/msword

        Response.Flush();
        Response.TransmitFile(fileInfo.FullName);
        Response.End();
    }
}

我注意到这是Chrome的功能,要关闭它,我执行了以下步骤:

  • 点击浏览器右角的3个点进入设置
  • 点击页面底部的“高级”按钮
  • 转到“下载”部分
  • 单击“下载后自动打开某些文件类型”旁边的“清除”按钮

  • 这是客户端pc的浏览器/计算机行为。不能用代码修复。