我有一個asp.net頁面,用戶可以在其中下載MS Word文檔。在服務器端,邏輯讀取.RTF,並將其文件擴展名更改爲.DOC,如下所示。問題是當默認文件類型仍然是.RTF時,當用戶在Word處理器菜單上單擊SAVE另存爲。使用編程生成的Word文檔將默認文件類型從RTF更改爲.DOC另存爲功能
string sb = GetWordTemplate("/My.rtf");
//logic to replace place holder with text
Response.ContentType="application/msword";
Response.AppendHeader("Content-disposition",
string.Format("attachment;filename={0}.doc", name);
Byte[] bytes = Encoding.Default.GetBytes(sb);
Response.BinaryWrite(bytes);
Response.End();
有什麼想法嗎?
更新
任何第三方工具來修改RTF文件,它只是替換佔位符文本。
RTF文件實際上是.TXT文件,但更改爲具有.RTF文件擴展名。
下載的.DOC可以打開並保存成功。但是當使用另存爲時,它的默認文件類型仍然是.RTF,這是這篇文章的問題。
這是我開始研究的遺留代碼。
你用什麼庫來修改rtf文件? – 2015-03-13 17:44:31
RTF和DOC是完全不同的格式 - 一個是文本,另一個是二進制。你*不能*只是通過改變擴展名將其轉換爲另一個。無論如何,「DOC」已被棄用。如果你想創建一個真正的Word文檔,我建議你使用Open XML SDK創建一個'docx'文件。 – 2015-03-13 17:44:51
請在上面找到我的更新。 – Pingpong 2015-03-13 21:12:20