在MVC中生成多个文本文件

时间:2015-01-13 11:03:39

标签: c# asp.net-mvc-4 text

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

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()时,我会杀死它之后的所有进程。

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

提前感谢。

1 个答案:

答案 0 :(得分:1)

查看this帖子。您可能希望为您的解决方案选择相同的方法。 如果压缩不是选项,那么您需要使用ajax下载单个文件。但在这种情况下,您应该事先了解文件和名称的数量,以便进行许多ajax调用。