OVH Cloud OVH Cloud

WebBrowser et Stream pdf

5 réponses
Avatar
Boblemar
Bonjour,

Je cherche à visualiser un flux émis par un servlet.
Lorsque le flux correspond à un fichier jpg, le document s'affiche
correctement dans un contrôle WebBrowser.
Lorsque le flux correspond à un pdf, le document ne s'affiche pas...
c'est la source du pdf (caractères ésotériques) qui s'affiche. Il semble
ne pas retrouver le type MIME du flux, ce qui est étonnant car je le
renseigne bien. D'autre part, lorsque je fais la même requête à travers
un "vrai" browser, cela fonctionne.

Quelqu'un a-t'il eu le même genre de problèmes ?
Peut-on indiquer le contenttype sur l'objet WebBrowser ?

Merci,

5 réponses

Avatar
Paul Bacelar
L'affichage du pdf doit se faire via un Plug-Ins qui n'est pas "installé"
dans le WebBrowser mais dans IE.
Je ne sais pas si WebBrowser permet une gestion de Plug-Ins.
--
Paul Bacelar
MVP VC++

"Boblemar" wrote in message
news:O$
Bonjour,

Je cherche à visualiser un flux émis par un servlet.
Lorsque le flux correspond à un fichier jpg, le document s'affiche
correctement dans un contrôle WebBrowser.
Lorsque le flux correspond à un pdf, le document ne s'affiche pas... c'est
la source du pdf (caractères ésotériques) qui s'affiche. Il semble ne pas
retrouver le type MIME du flux, ce qui est étonnant car je le renseigne
bien. D'autre part, lorsque je fais la même requête à travers un "vrai"
browser, cela fonctionne.

Quelqu'un a-t'il eu le même genre de problèmes ?
Peut-on indiquer le contenttype sur l'objet WebBrowser ?

Merci,


Avatar
Boblemar
Merci pour votre réponse.
En fait, il s'avère que si j'enregistre le flux dans un fichier
temporaire avec pdf comme extension, et que je fais pointer le
webbrowser dessus, il s'affiche... donc le Webbrowser arrive à afficher
du pdf, mais il semble qu'il ne sache pas lire l'entête ContentType dans
un flux.
Ma solution fonctionne, mais cela m'oblige à écrire mon flux sur le
disque dur et à le supprimer lorsque je détruise le controle webbrowser.

Paul Bacelar a écrit :
L'affichage du pdf doit se faire via un Plug-Ins qui n'est pas "installé"
dans le WebBrowser mais dans IE.
Je ne sais pas si WebBrowser permet une gestion de Plug-Ins.


Avatar
Paul Bacelar
Etes-vous sûr du ContentType de la réponse HTTP ?
Avez-vous vérifié que ce n'est pas une restriction de sécurité du poste de
travail ?
--
Paul Bacelar
MVP VC++

"Boblemar" wrote in message
news:
Merci pour votre réponse.
En fait, il s'avère que si j'enregistre le flux dans un fichier temporaire
avec pdf comme extension, et que je fais pointer le webbrowser dessus, il
s'affiche... donc le Webbrowser arrive à afficher du pdf, mais il semble
qu'il ne sache pas lire l'entête ContentType dans un flux.
Ma solution fonctionne, mais cela m'oblige à écrire mon flux sur le disque
dur et à le supprimer lorsque je détruise le controle webbrowser.

Paul Bacelar a écrit :
L'affichage du pdf doit se faire via un Plug-Ins qui n'est pas "installé"
dans le WebBrowser mais dans IE.
Je ne sais pas si WebBrowser permet une gestion de Plug-Ins.




Avatar
Boblemar
Paul Bacelar a écrit :
Etes-vous sûr du ContentType de la réponse HTTP ?
Avez-vous vérifié que ce n'est pas une restriction de sécurité du poste de
travail ?


A priori non : il s'agît de mon poste de développement... je n'ai aucune
restriction de sécurité.
Avatar
Faust
attention, on vient de faire pas mal de tests chez nous, et il semble
que IE ne s'appuie pas du tout sur l'entête Content-Type pour connaitre
le type de fichier quand le Content-Disposition: filename=blabla est
donné

en bref si on lui transmet le nom du fichier, IE se base sur
l'extension
et j'imagine que sinon (et seulement sinon) il se base sur le
content-type

testé sur IE7

et bien sûr, le Webbrowser est basé sur IE...

/_Boblemar_ a utilisé son clavier pour écrire/ :
Paul Bacelar a écrit :
Etes-vous sûr du ContentType de la réponse HTTP ?
Avez-vous vérifié que ce n'est pas une restriction de sécurité du poste de
travail ?


A priori non : il s'agît de mon poste de développement... je n'ai aucune
restriction de sécurité.



--
Faust
"Une âme en peine peut en cacher une autre"