在 MVC 中生成多个文本文件

本文关键字:文本 文件 MVC | 更新日期: 2023-09-27 18:37:23

我使用以下代码生成我的文本文件:

using System.IO;
using System.Text; 
public class SomeController {
// this action will create text file 'your_file_name.txt' with data from
// string variable 'string_with_your_data', which will be downloaded by
// your browser
public FileStreamResult CreateFile() {
    //todo: add some data from your database into that string:
    var string_with_your_data = "";
    var byteArray = Encoding.ASCII.GetBytes(string_with_your_data);
    var stream = new MemoryStream(byteArray);

        return File(stream, "text/plain", "your_file_name.txt");   
    }
}

我曾经使用过这种方式:

Response.Clear();
Response.ContentType = "plain/text";
Response.AddHeader("content-disposition", "attachment;filename=" + "File1" + ".txt");
Response.Output.WriteLine("Content File 1");
Response.End();

但是现在我想生成多个文件,每个文件都有自己的内容。

例:

File1.txt - Content 1, File2.txt - Content 2, File3.txt - Content 3

我可以这样做还是必须压缩所有文件?

而且我想重新加载我的页面,因为我有一个显示生成的文件的网格。但是当我使用Response.End()时,我正在杀死它之后的所有进程。

如果我不清楚,我可以解释更多。

提前谢谢。

在 MVC 中生成多个文本文件

看看这篇文章。 您可能希望为您的解决方案选择相同的方法。如果压缩不是选项,则需要使用 ajax 下载单个文件。但在这种情况下,您应该预先知道文件和名称的数量,以进行许多 ajax 调用。