我正在使用 EPPlus 库创建一个 .xlsx 文件,然后将其流式传输到浏览器。要流式传输我正在使用的代码:
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + Server.MapPath("xls/"+ download_results_filename));
HttpContext.Current.Response.TransmitFile(Server.MapPath("xls/" + download_results_filename));
HttpContext.Current.Response.Flush();
我的问题是这个。如果我将代码与库一起使用,则保存并打开文档一切都很好。但是,当我在服务器上创建文件并将其流式传输给用户时,使用上面的代码,我收到一条损坏的文件消息,具有更正或恢复文件的附加功能,我这样做并且文件显示正确;因此,如果使用上面的八位字节流方法将文件流式传输给用户会损坏文件,我应该如何将二进制数据流式传输给用户。我想将内容类型保持为“应用程序/八位字节流”,就好像我特别指出它是我在 iPad 上遇到问题的 excel 电子表格一样。
谢谢