gpt4 book ai didi

c# - 如何在内存中创建一个文件,然后通过asp.net mvc + jquery将该文件发送给用户?

转载 作者:太空宇宙 更新时间:2023-11-03 11:51:29 25 4
gpt4 key购买 nike

我正在使用 Dday 日历库,我想导出用户日历。所以我使用 Dday 获取所有用户记录并将其转换为 ical 格式 (.ics)。

现在我想把它发回给用户。但是我真的不想先在服务器上生成一个文件然后再发送给他们。如果可以的话,我宁愿在内存中完成并发送给他们。

如果工作量很大,我会选择一种方法,将它保存在服务器上,允许用户下载它,然后在他们完成下载后将其删除(我不希望文件在我的服务器上超过几分钟)。

我也不确定如何将其发送回用户。我总是喜欢使用 jquery 向服务器发送 ajax post,然后以某种方式返回文件并为用户弹出。

同样,如果这需要大量工作,我将采用 asp.net mvc 处理所有这些的服务器端方式。

但我不知道该怎么做。

那我该怎么做呢?

最佳答案

您需要使用 MVC 返回类型 FileStreamResult

public FileStreamResult MyFunction(/*your parms*/)
{
System.IO.MemoryStream stream = FunctionThatCreatesMyCalendarStream();
//you may need stream.Position = 0 here depending on what state above funciton leaves the stream in.
//stream.Position = 0;
FileStreamResult result = new FileStreamResult(stream, "text/calendar");
result.FileDownloadName = "myfiledownloadname.ics";
return result;
}

关于c# - 如何在内存中创建一个文件,然后通过asp.net mvc + jquery将该文件发送给用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2031598/

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