阅读包含Base64-Embedded格式的所有图像的网页

Mo *_*our 1 html c# web

在我的场景中,我想下载一个页面的HTML(互联网上的任何页面)programaticaly,但我也希望HTML中的所有图像都是base64嵌入格式(未引用)

换句话说,而不是:

<img src='/images/delete.gif' />
Run Code Online (Sandbox Code Playgroud)

我希望下载的html看起来像这样:

<img src="data:image/gif;base64,R0lGODl..." />
Run Code Online (Sandbox Code Playgroud)

这样我就不需要经历将所有图像存储在目录等中的过程等.

你们有谁知道如何做到这一点?或者任何有效执行此操作的插件?

Jon*_*eet 6

好吧,你需要:

  • 下载原始HTML
  • 查找imgHTML中的每个元素(例如使用HTML敏捷包)和每个元素:
    • 如果它已经在使用数据URL,请忽略它
    • 除此以外:
    • 下载图片
    • 使用在Base64中编码 Convert.ToBase64String
    • img使用base64版本替换原始标记(在原始字符串中,或​​通过DOM表示)
  • 将最终的HTML保存到磁盘

以下任何步骤都会导致您遇到特定问题吗?您可以通过并行下载图像来更快地完成它,但我会首先使用串行版本.