【问题标题】:HtmlTextWriter - Filepaths containing spacesHtmlTextWriter - 包含空格的文件路径
【发布时间】:2013-04-07 10:41:19
【问题描述】:

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

C:\Documents and Settings....

似乎正在发生的事情是

m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName);

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

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

Uri.UnescapeDataString,包括一个 @ 符号在 imageName 前面

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

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

【问题讨论】:

    标签: c# winforms htmltextwriter


    【解决方案1】:

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

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

    有两种类似的方法可用:

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

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

    【讨论】:

    • 根据文档,默认情况下它是 false,我很确定我试过这个。最后我只是硬编码了 html 图像标签
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2015-04-10
    相关资源
    最近更新 更多