C# 从StreamWriter输出.txt文件而不写入磁盘?
是否有任何方法可以获取StreamWriter并将文件(在本例中为.txt文件)输出给用户,用户可以选择打开/保存,而无需实际将文件写入磁盘?如果不保存,它基本上会消失 我正在寻找相同的功能C# 从StreamWriter输出.txt文件而不写入磁盘?,c#,asp.net,.net,C#,Asp.net,.net,是否有任何方法可以获取StreamWriter并将文件(在本例中为.txt文件)输出给用户,用户可以选择打开/保存,而无需实际将文件写入磁盘?如果不保存,它基本上会消失 我正在寻找相同的功能 HttpContext.Current.Response.TransmitFile(file); 但无需将任何内容保存到磁盘。谢谢 尝试一个System.IO.MemoryStream System.IO.MemoryStream ms = new System.IO.MemoryStream(); Sy
HttpContext.Current.Response.TransmitFile(file);
但无需将任何内容保存到磁盘。谢谢 尝试一个
System.IO.MemoryStream
System.IO.MemoryStream ms = new System.IO.MemoryStream();
System.IO.StreamWriter sw = new System.IO.StreamWriter(ms);
sw.Write("hello");
我最近为一个XML文件做了这项工作,应该很容易适应
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.AppendHeader("content-disposition", "attachment; filename=myfile.xml");
Response.ContentType = "text/xml";
UTF8Encoding encoding = new UTF8Encoding();
Response.BinaryWrite(encoding.GetBytes("my string"));
Response.Flush();
Response.End();
}
或者使用Response.BinaryWrite(字节[]) 这样的办法应该行得通。如果文本文件位于流中,则可以很容易地从中获取字节[] 编辑:请参见上面的内容,但要更改ContentType对象
Response.AppendHeader("Content-Disposition", @"Attachment; Filename=MyFile.txt");
Response.ContentType = "plain/text";
Response.BinaryWrite(textFileBytes);