Проблема с путем к изображению HTML-файлов, просматриваемых с помощью элемента управления веб-обозревателем

В моей форме есть элемент управления веб-браузером. Я могу отображать HTML-файлы в этом элементе управления. Но моя страница содержит некоторые изображения, если я дам ей абсолютный путь, тогда изображения будут отображаться. Но если я укажу относительный путь, изображения не будут отображаться на страницах.
У меня есть папка HtmlPages, расположенная в папке bin.
И я назначаю

FileStream source = new FileStream(@"..\HtmlPages\supportHtml.html", FileMode.Open, FileAccess.Read);
webBrowser.DocumentStream = source;

Если я назначу D:\myapp\bin\HtmlPages\file.png, то проблем нет. Мои изображения хранятся в той же папке. Если я открываю html-файлы с помощью веб-браузера, отображаются изображения.
Какой правильный путь установить ??


person Royson    schedule 21.04.2010    source источник
comment
возможный дубликат stackoverflow.com/questions/1797469/   -  person Sheng Jiang 蒋晟    schedule 21.04.2010


Ответы (1)


Относительные пути указаны относительно WebBrowser.Url. Который, когда вы загружаете HTML напрямую, через DocumentStream или DocumentText, имеет значение about: blank. Это не поможет WB найти файл, вы должны использовать абсолютный путь. Возиться со свойством Url - не вариант.

Рассмотрите возможность использования Html Agility Pack, чтобы поработать с содержимым файла, прежде чем назначать его свойству DocumentText. Используйте Path.GetFullPath () для перевода относительных путей.

person Hans Passant    schedule 21.04.2010