我正在尝试使用HtmlTextWriter来创建一个html页面,这一切都正常,直到我尝试将图像创建到文件路径中包含空格的文件夹
C:\Documents and Settings....
似乎正在发生的事情是
m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName);
将空格转换为%20 ,结果导致源的文件路径无效并导致我的web浏览器和已安装的互联网浏览器无法显示所述图像,而是显示破碎的图像图标/图像..
我尝试了多种不同的方法来实现这一点,包括
Uri.UnescapeDataString
,包括imageName
@
符号
我还发现如果我从页面源代码复制链接(C:\Documents%20and%20Settings\...
,那么windows无法找到该文件(预计会这样)
由于我受到限制,我无法使用HtmlAgilityPack。任何人都有任何想法?
答案 0 :(得分:0)
只需添加一个布尔参数来告诉HtmlTextWriter类您不希望它编码: -
m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName, false);
有两种类似的方法可供选择:
AddAttribute(HtmlTextWriterAttribute, String)
AddAttribute(HtmlTextWriterAttribute, String, Boolean)
使用第二个应该解决问题。