1

HtmlTextWriter を使用して html ページを作成しようとしていますが、ファイル パスにスペースが含まれるフォルダーに画像を作成しようとするまで、すべて正常に動作しています。

C:\Documents and Settings....

起こっているように見えるのは

m_htmlWriter.AddAttribute(HtmlTextWriterAttribute.Src, imageName);

スペースを%20に変換すると、ソースのファイル パスが無効になり、Web ブラウザーとインストール済みのインターネット ブラウザーで上記の画像を表示できなくなり、代わりに壊れた画像アイコン/画像が表示されます。

これを機能させるために、さまざまなことを試しました。

Uri.UnescapeDataString@、 imageName の前にシンボルを含む

また、ページのソースからリンクをコピーするとC:\Documents%20and%20Settings\...、Windows がファイルを見つけられないこともわかりました (これが予想されます)。

私が受けている制限のため、HtmlAgilityPack を使用できません。

4

1 に答える 1

0

ブール値パラメーターを追加して、HtmlTextWriter クラスにエンコードしたくないことを伝えるだけです。

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

同様の方法が 2 つあります。

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

2番目のものを使用すると、問題が解決するはずです。

于 2013-07-03T00:00:51.407 に答える