gpt4 book ai didi

c# - MemoryStream 到虚拟文件

转载 作者:太空宇宙 更新时间:2023-11-03 13:50:02 24 4
gpt4 key购买 nike

我有以下内容:

using(var memoryStream = new MemoryStream())
{
gc.CreatePackage(memoryStream);
}

MemoryStream 吐出一个 excel 文件。从内存流中,我如何着手实际显示生成的文件。请注意,我不想实际将文件保存到磁盘,而只是显示它。

到目前为止,我有以下但似乎不起作用:

using (var memoryStream = new MemoryStream())
{
gc.CreatePackage(memoryStream);

using (var fileStream = File.OpenWrite("Test.xlsx"))
{
memoryStream.WriteTo(fileStream);
}
}

但不确定我的方向是否正确。我收到一条错误消息:

System.Web.Mvc.Controller.File(byte[], string)' is a 'method', which is not valid in the given context

我不确定我是否在朝着正确的方向前进。

最佳答案

假设您使用的是 ASP.NET MVC,您可能需要 File response helper :

using (var memoryStream = new MemoryStream())
{
gc.CreatePackage(memoryStream);
memoryStream.Seek(0, SeekOrigin.Begin);
return File(memoryStream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
}

如果你想让文件源实际出现在浏览器中,你也可以谎报 MIME 类型并使用 text/plain 代替。浏览器很可能会将其呈现为纯文本。

您还可以将第三个参数添加到 File 以指定下载应显示给最终用户的文件名。

关于c# - MemoryStream 到虚拟文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13960811/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com