有沒有什麼辦法讓StreamWriter將文件(本例中是一個.txt文件)輸出到用戶,並且可以選擇打開/保存而不需要實際將文件寫入磁盤?如果沒有保存,它將基本消失。從StreamWriter輸出.txt文件而不寫入磁盤?
我要找的
HttpContext.Current.Response.TransmitFile(file);
,但相同的功能,而無需任何保存到磁盤。謝謝!
有沒有什麼辦法讓StreamWriter將文件(本例中是一個.txt文件)輸出到用戶,並且可以選擇打開/保存而不需要實際將文件寫入磁盤?如果沒有保存,它將基本消失。從StreamWriter輸出.txt文件而不寫入磁盤?
我要找的
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(字節[]);
Response.AppendHeader("Content-Disposition", @"Attachment; Filename=MyFile.txt");
Response.ContentType = "plain/text";
Response.BinaryWrite(textFileBytes);
類似的東西應該工作。如果你有一個流中的文本文件,你可以很容易地得到它的字節[]。
編輯:請參閱上面的內容,但請明確更改ContentType。