C# 如何下载在服务器中创建的文件';将内存保存到客户端而不保存它?

C# 如何下载在服务器中创建的文件';将内存保存到客户端而不保存它?,c#,asp.net,download,netoffice,C#,Asp.net,Download,Netoffice,如何将服务器内存中创建的文件下载到客户端而不保存它(ASP.NET) 我已经使用NetOffice在服务器上生成了一个Excel文件。但是现在,我无法将其下载到客户端。我不想在服务器上保存此文件的副本 我们可以使用流发送在内存中创建的文件对象吗 确实可以。只需传递到HTTP请求的Response.OutputStream。类似的方法应该可以工作(其中,您的流是来自内存中excel文档的流): 谢谢@geedubb,这似乎是我问题的解决办法。:)但我对“yourStream”对象有点怀疑。它是Me

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

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


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

确实可以。只需传递到HTTP请求的Response.OutputStream。类似的方法应该可以工作(其中,您的流是来自内存中excel文档的流):


谢谢@geedubb,这似乎是我问题的解决办法。:)但我对“yourStream”对象有点怀疑。它是MemoryStream类的对象吗?我们可以按如下方式使用该对象:MemoryStream m=new MemoryStream();m、 WriteTo(Response.OutputStream);这里我可能错了,因为我们可能需要传递文件的字节来初始化MemoryStream对象。这是因为使用NetOffice创建Excel文件,我只获取Excel应用程序、工作簿和工作表类的对象。仅供参考,当我执行WorkBookObject.Visible=true时;excel文件将在服务器上可见。但是我没有找到一种方法来获取工作簿对象的字节,以便将其传递到MemoryStream&init it。是的,您对MemoryStream的建议应该有效,但是我不熟悉NetOffice。您能更新您的问题并分享创建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();