0

如何将在服务器内存中创建的文件下载到客户端而不保存(ASP.NET)?

我已经使用 NetOffice 在服务器上生成了一个 Excel 文件。但是现在,我无法将其下载到客户端。我不想在服务器上保存此文件的副本。

我们可以使用 Streams 发送在内存中创建的文件对象吗?

4

1 回答 1

1

确实可以。只需传递给您的 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();
于 2013-11-26T14:40:25.597 回答