2009-10-07 3 views
1

Je me bats avec un contrôle ActiveX tiers que nous utilisons pour charger des images TIFF dans le navigateur client à partir d'un formulaire Web ASP.Net (3.5). Le contrôle ActiveX s'enregistre correctement (pour autant que je sache) en tant que gestionnaire MIME pour les images TIFF et fonctionne correctement chaque fois qu'un fichier est double-cliqué localement. Cependant, IE6 et le contrôle ActiveX se comportent différemment en fonction de quelques situations que j'ai pu identifier jusqu'à présent.Comment IE6 prend-il ContentType au sérieux?

EDIT Le contrôle ActiveX n'est pas du tout dans la page Web (pas de balise). Le contrôle ActiveX est installé sur le client et, en diffusant l'image brute au client, le contrôle ActiveX apparaît automatiquement dans le navigateur en fonction de la gestion MIME. END EDIT

À des fins de référence, on coulent l'image au navigateur en utilisant Response.BinaryWrite (buffer) si la mémoire tampon est un tableau d'octets contenant l'image binaire. J'ai essayé d'utiliser Response.TransmitFile() et quelques autres méthodes dans le formulaire Web. Les serveurs Web exécutent Server 2003 SE SP2, le site Web fonctionne sous IIS6.

  • Si je définis Response.ContentType = "image/tiff" avant la diffusion, le contrôle ActiveX ne se charge pas dans IE6.
  • Si je spécifie le nom de l'image, ou d'ailleurs ".tif" n'importe où dans la chaîne de requête, le contrôle ActiveX se charge correctement dans IE6.
  • Si j'utilise FireFox, tout fonctionne parfaitement (insérez ici le cliché "IE6 craint").

je l'ai fait toute une série de recherches sur les paramètres de Registre IE6 utilise pour déterminer le traitement MIME, et ont même essayé de désactiver MIME sniffing/MIME handling sur le client, en vain. Cela ne me dérange pas de spécifier ".tif" dans la chaîne de requête, mais même cela ne charge pas le contrôle avec succès sur un client Citrix, qui crie "Registry!" à moi.

Oh, une autre chose; c'est une exigence que le contrôle ActiveX charge sans inviter l'utilisateur, donc ajouter un en-tête Content-Disposition avec "attachment; filename = yaddayaddayadda.tif" n'est pas une possibilité.

Est-ce que quelqu'un a déjà rencontré quelque chose comme ça avant? Comment l'avez-vous surmonté, si vous l'avez fait? Existe-t-il une solution globale que je peux appliquer aux postes de travail clients? Y a-t-il quelque chose que je dois mettre sur le serveur Web? J'ai l'impression d'avoir tout essayé.

Merci d'avance.

Répondre

0

Votre question ne précise pas exactement ce qui se passe. Le contrôle ActiveX sur la page ASPX ou fait-il une demande à la page ASPX? Utilisez-vous un ASPX pour fournir des données TIFF binaires?

+0

Ajout de clarification. –

+0

Donc, le contrôle est dans un autre client exe épais? A fait une demande à un ASPX qui génère un TIFF, n'est-ce pas? Désolé, mais il est encore difficile d'envisager exactement ce que vous faites. – batwad