2010-04-21 4 views
0

J'ai un contrôle WebBrowser sur ma forme. Je suis capable d'afficher les fichiers html dans ce contrôle. Mais ma page contient des images si je lui donne le chemin absolu, puis les images sont affichées. Mais si je donne un chemin relatif alors les images ne sont pas montrées dans les pages.
J'ai le dossier HtmlPages situé dans le dossier bin.
Et je suis assigne Problème avec le chemin d'image des fichiers html vues par contrôle WebBrowser

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

Si je cède D:\myapp\bin\HtmlPages\file.png alors il n'y a pas de problème. Mes images sont stockées dans le même dossier. Si j'ouvre les fichiers html avec webbrowser alors les images sont affichées.
Quel est le chemin correct à définir ??

+0

double possible de http://stackoverflow.com/questions/1797469/c-webbrowser-building-a-document-with-text-and-images-from-streams –

Répondre

2

Les chemins relatifs sont liés à WebBrowser.Url. Laquelle, lorsque vous chargez le code HTML directement, via DocumentStream ou DocumentText est sur: vide. Cela ne va pas aider WB à trouver le fichier, doit utiliser un chemin absolu. Le bricolage avec la propriété Url n'est pas une option.

Pensez à utiliser Html Agility Pack bricoler avec le contenu du fichier avant de l'assigner à la propriété DocumentText. Utilisez Path.GetFullPath() pour traduire les chemins relatifs.

Questions connexes