1

我正在尝试使用 HtmlTextWriter 创建一个 html 页面,该页面一切正常,直到我尝试将图像创建到文件路径中包含空格的文件夹中

C:\Documents and Settings....

似乎正在发生的是

m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName);

正在将空格转换为%20,因此,源的文件路径变得无效,并导致我的网络浏览器和安装的互联网浏览器无法显示所述图像,而是显示损坏的图像图标/图像..

我尝试了多种不同的方法来使其正常工作,包括

Uri.UnescapeDataString, 包括@imageName 前面的符号

我还发现,如果我从页面源复制链接(C:\Documents%20and%20Settings\...然后 windows 无法找到该文件(预期这个)

由于我受到限制,我无法使用 HtmlAgilityPack.. 有人有什么想法吗?

4

1 回答 1

0

只需添加一个布尔参数来告诉 HtmlTextWriter 类您不想对其进行编码:-

m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName, false);

有两种类似的方法可用:

AddAttribute(HtmlTextWriterAttribute, String)
AddAttribute(HtmlTextWriterAttribute, String, Boolean)

使用第二个应该可以解决问题。

于 2013-07-03T00:00:51.407 回答