如何将在服务器内存中创建的文件下载到客户端而不保存(ASP.NET)?
我已经使用 NetOffice 在服务器上生成了一个 Excel 文件。但是现在,我无法将其下载到客户端。我不想在服务器上保存此文件的副本。
我们可以使用 Streams 发送在内存中创建的文件对象吗?
确实可以。只需传递给您的 HTTP 请求的 Response.OutputStream 即可。像这样的东西应该可以工作(其中 yourStream 是来自内存中的 excel 文档的流):
Response.Clear();
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("Content-Disposition", "attachment; filename=myfile.xlsx");
yourStream.WriteTo(Response.OutputStream);
Response.Flush();