如何将字符串内容保存到本地文件

本文关键字:文件 保存 字符串 | 更新日期: 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请求并保存将它们放到子目录中。

  • 最后更新主页面的所有相关链接指向