0
我使用以下代碼來編寫一個字符串(轉換爲一個字節數組)的內容到客戶端在ASP.NET/C#保存字符串與打開客戶端/保存對話框
byte[] data = StrToByteArray(strData);
Response.ClearContent();
Response.AppendHeader("content-length", data.Length.ToString());
Response.ContentType = "text/plain";
Response.AppendHeader("content-Disposition", "attachment;filename=" + fileName);
Response.BinaryWrite(data);
Response.Flush();
文件名是以文件擴展名(.pgn)結尾的文件的名稱。但是,該文件保存爲.txt文件,而忽略了我提供的擴展名。這是否與Response.Contenttype =「text/plain」有關?我怎樣才能打開/保存對話框來顯示並保存正確的(.pgn)文件名?另外,如果文件名是由短劃線或空格分隔的字符串,當打開/保存對話框出現時,文件名不會完整顯示,但會被截斷,第一個破折號( - )或空格(或逗號)遇到。這怎麼解決?
嗨,謝謝,我已經使用了替換,但文件確實是一個文本文件,但與「pGn」擴展名(不是PNG)。在IE中它是正確保存的,但在Firefox中它將它保存爲.png.txt – Tim 2010-08-08 18:52:11
我最終解決了它。如果我想使用不同的擴展名,我不得不使用「application/octet-stream」作爲ContentType。 – Tim 2010-08-08 19:37:10