我一直在阅读Response.Flush、Response.End、Response.TransmitFile和HttpContext.CompleteRequest。
TransmitFile 的定义:将指定文件直接写入 HTTP 响应输出流,而不将其缓冲在内存中。
和 Response.Flush: Flush 方法立即发送缓冲输出....
我得出的结论是,如果 TransmitFile 不缓冲文件,那么我不需要 Response.Flush。
然而,这似乎不是真的。如果没有 Response.Flush,使用 TransmitFile 传输的 .XLSX 文件会保存到客户端,但使用 Excel 打开时会出错。
当我添加 Response.Flush 时,文件会正确打开。为什么我需要 Response.Flush?