【发布时间】:2021-11-05 07:26:24
【问题描述】:
我有一个 .NET 应用程序,它可以在代码中生成 PDF 和 XLS,并且能够下载存储在数据库表中的 DOCX 和 XLSX。 Edge 允许我下载(或就此而言,酌情在 Acrobat Reader/Word/Excel 中打开)生成的文件没有问题。然而,Chrome 做了一些奇怪的事情。
当我尝试下载 DOCX 或 XLSX 时,它没有给我打开它的选项;它只是调出标准的 Windows“另存为”对话框,当我输入文件名并选择“保存”时,似乎什么也没有发生。但是,Windows 资源管理器在其“最近”列表中显示该文件,这让我认为至少创建了一个文件条目,然后将其删除。该文件未出现在 Chrome 的下载页面中。
当我尝试创建 PDF 时,它会正确显示在自己的选项卡中。但是,当我单击“下载”图标时,首先它说下载失败并出现“网络错误”,但允许我继续;当我恢复时,最终它说下载被“阻止”。这些下载尝试确实会出现在 Chrome 的下载页面上。
我的 Chrome 下载安全设置是“使用标准保护进行安全浏览”。此外,文件处理程序设置为“Web 应用程序可以请求打开文件类型。”
我应该在 Chrome 上检查什么以允许文件下载?
这是用于将文件发送到网络浏览器的代码:
// byte[] SomeReportContent is the file content
Response.Clear();
Response.Buffer = True;
Response.AddHeader("Content-Disposition", "attachment; filename=SomeReport.pdf");
Response.ContentType = "application/pdf";
// * Other ContentType values:
// application/msword (DOC)
// application/vnd.openxmlformats-officedocument.wordprocessingml.document (DOCX)
// application/xls (XLS)
// application/vnd.ms-excel (XLS)
// application/vnd.openxmlformats-officedocument.spreadsheetml.sheet (XLSX)
Response.BinaryWrite(SomeReport_Content);
Response.Flush();
Response.Close();
Response.End();
【问题讨论】:
标签: google-chrome mime