如何将字符串内容保存到本地文件
本文关键字:文件 保存 字符串 | 更新日期: 2023-09-27 17:49:16
我正在开发一个通过web浏览器控件显示网页的应用程序。
当我点击保存按钮时,带有图像的网页应该存储在本地存储中。它应该保存为。html格式。
我有以下代码:
WebRequest request = WebRequest.Create(txtURL.Text);
WebResponse response = request.GetResponse();
Stream data = response.GetResponseStream();
string html = String.Empty;
using (StreamReader sr = new StreamReader(data))
{
html = sr.ReadToEnd();
}
现在字符串html包含网页内容。我需要把它保存到D:'Cache'
如何将html内容保存到磁盘?
您可以使用以下代码将HTML字符串写入文件:
var path= @"D:'Cache'myfile.html";
File.WriteAllText(path, html);
进一步细化:从(文本)URL中提取文件名。
更新:详见c#中从URI字符串获取文件名。思路是:
var uri = new Uri(txtUrl.Text);
var filename = uri.IsFile
? System.IO.Path.GetFileName(uri.LocalPath)
: "unknown-file.html";
您必须在保存按钮上编写以下代码
文件。WriteAllText(路径,browser.Document.Body.Parent。OuterHtml Encoding.GetEncoding (browser.Document.Encoding));
现在是Body。父目录必须保存整个页面,而不是只保存部分。
检查。
据我所知,. net框架没有内置的东西。
所以我的方法是这样的:使用
System.NET.HttpWebRequest
获取主HTML文档作为字符串或流(简单)。(你已经这么做了)将其加载到一个htmllagilitypack文档中,现在你可以很容易地查询文档以获取所有图像元素、样式表的列表链接等
然后为这些文件中的每一个单独的web请求并保存将它们放到子目录中。
最后更新主页面的所有相关链接指向