在 MVC 中生成多个文本文件
Generate multiples text files in MVC
我使用以下代码生成我的文本文件:
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() 时,我会杀死它之后的所有进程。
如果我不清楚我可以解释更多。
提前致谢。
查看 post。您可能希望为您的解决方案选择相同的方法。
如果压缩不是选项,那么您需要使用 ajax 下载单个文件。但在那种情况下,您应该预先知道文件的数量和名称,以便进行这么多 ajax 调用。
我使用以下代码生成我的文本文件:
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() 时,我会杀死它之后的所有进程。
如果我不清楚我可以解释更多。
提前致谢。
查看