我试图使用HtmlTextWriter创建一个html页面,该页面工作正常,直到我尝试将图像创建到一个文件夹中,其中包含文件路径中的空格
C:\Documents and Settings....似乎正在发生的是
m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName);正在将空间转换为%20,结果导致源的文件路径无效,导致我的网页浏览器和已安装的internet浏览器无法显示所述图像,而只能显示破损的图像图标/图像。
我尝试过多种不同的方法来让它发挥作用,包括
Uri.UnescapeDataString,包括imageName前面的@符号。
我还发现,如果我从页面源复制链接(C:\Documents%20and%20Settings\...,那么windows就无法找到该文件(预期如下)
由于受限制,我无法使用HtmlAgilityPack。有人有什么想法吗?
发布于 2013-07-03 00:00:51
只需添加一个布尔参数,告诉HtmlTextWriter类您不希望它被编码:-
m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName, false);有两种类似的方法:
AddAttribute(HtmlTextWriterAttribute, String)
AddAttribute(HtmlTextWriterAttribute, String, Boolean)使用第二个应该可以解决问题。
https://stackoverflow.com/questions/16013112
复制相似问题