2017-07-30 38 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

相关问题