2017-07-30 89 views
0

我正在C#中開發一個HTML編輯器,您可以在FastColoredTextBox.dll組件中編輯代碼。您將在MenuStrip中有一個名爲「在瀏覽器中預覽」的選項,並且會出現一個名爲「Chrome」和「Iexplore」的下拉菜單等。我希望它不是保存文件,而是希望它在文件中創建一個文件臨時文件夾並預覽它。並且在我們再次修改代碼後,該文件將在我們再次預覽時更新。這是我到目前爲止:如何保存和預覽臨時文件夾中的HTML文件?

string location = null; 
string sourcecode = FastColoredTextBox1.Text; 
location = System.IO.Path.GetTempPath() + "\\TempSite.html"; 

using (StreamWriter writer = new StreamWriter(location, true)) 
{ 
    writer.Write(sourcecode); 
    writer.Dispose(); 
} 
try 
{ 
    System.Diagnostics.Process.Start("chrome.exe", location); 
} 
catch (Exception ex) 
{ 
    Interaction.MsgBox(ex.Message); 
} 

你是如何做到這一點的?

+1

問:當您嘗試此代碼時會發生什麼? TempSite.html會被寫入嗎?你能在瀏覽器中手動查看嗎?你可以啓動Chome(或編程IE或FF)?如果不是,當你嘗試時會發生什麼? – paulsm4

+0

它保存並運行,但不會自行更新。所以當我第二次預覽它時,它會顯示前一個。 – Roebebin

+0

固定代碼塊 –

回答

1

問:如何從臨時文件夾保存和預覽HTML文件?

答:你已經做正是:)

Q:爲什麼我的瀏覽器不斷重新顯示原始圖像?

答:因爲您的瀏覽器正在從緩存中讀取html。

SOLUTION:

給你的新文件一個不同的名字。例如:

location = System.IO.Path.GetTempPath() + Path.GetTempFileName() + ".html"; 

......或者......

location = Path.GetTempPath() + Guid.NewGuid().ToString() + ".html"; 

你也可以簡單地打<F5>刷新,<Ctl-Shift-Del>清除緩存,或禁用緩存在瀏覽器中。

+0

謝謝生病嘗試。 – Roebebin

+0

謝謝,它工作。只是我有一個問題:它會將文件保存在Temp文件夾中。但預覽後,它爲什麼不刪除自己?請幫忙。 – Roebebin

相關問題