2008-11-14 3 views
0

J'ai une application Asp.Net 1.1 qui utilise le code suivant pour écrire un fichier image sur un site web page.Définition de Response.ContentType = "image/tiff" dans asp.net 1.1 et IE7 n'affiche pas les fichiers tif

Response.ContentType="image/tiff" 'Only for Tif files 
    Dim objStream As Object 
    objStream = Server.CreateObject("ADODB.Stream") 
    objStream.open() 
    objStream.type = 1 
    objStream.loadfromfile(localfile) 
    Response.BinaryWrite(objStream.read) 

Je suis en train de tester cela avec des fichiers TIF. Les fichiers sont affichés correctement dans IE6 et Safari mais dans IE7 ils ne s'affichent pas et rien ne semble retourner sur la page web. Les fichiers avec jpg, extensions gif sont affichés correctement. Quel pourrait être le problème ici?

Répondre

0

Avez-vous essayé de paramétrer le Content-Disposition sur Inline?

Response.AppendHeader("Content-Disposition", "inline"); 
0

Oui, je l'ai essayé tout de suite. Ne fonctionne pas Est-ce quelque chose à voir avec tiff ayant 4 lettres au lieu de 3. J'ai lu quelque part que IE7 ne supporte pas les extensions de 4 lettres.

1

Eh bien, cela dépend de votre public. Mais idéalement, pour prendre en charge les navigateurs existants, vous ne devez pas supposer qu'ils peuvent gérer un fichier TIFF. Au minimum, chargez le TIFF, sélectionnez la première image (page), faites un DrawImage dans un nouveau bitmap, enregistrez le bitmap en tant que JPG dans un flux de mémoire et envoyez-le à Response.

Si vous n'êtes pas familier avec la manipulation d'image GDI + de .NET ou si cela semble difficile, veuillez consulter le http://www.bobpowell.net/faqmain.htm pour obtenir des conseils. Chacune de ces étapes peut être réalisée avec seulement quelques lignes de code. Si vous ne connaissez pas déjà GDI +, cela vaut la peine d'apprendre pour n'importe quel développeur Web. Cela pourrait faire en sorte que «la voie dure (mais sûre) en vaut la peine pour l'éducation seule. Et si vous savez déjà comment, cela ne prendra pas mais 1/2 heure.

Si vous devez afficher des fichiers TIFF multipage et que vous souhaitez que l'utilisateur contrôle les pages à afficher, vous devez créer une interface utilisateur pour définir le numéro de page. Si vous essayez d'afficher plusieurs fichiers TIFF par page, cela risque d'être non trivial. Vous pouvez donc afficher toutes les pages tiff # 1 sur la première page Web ou leur permettre d'afficher les pages TIFF suivantes en les reliant à une autre page Web. boutons de page prev/next tiff. Ce devrait être une page générique qui accepte le nom de fichier et les numéros de page actuels (les boutons prev/next se pointeraient sur lui-même avec +/- un numéro de page) en tant que paramètres d'URL. Si vous savez que vous n'afficherez que des documents texte au lieu de photographies, essayez d'envoyer des images GIF à une seule image au lieu de fichiers TIFF au navigateur pour moins de Jpegginess sur le texte. Mais avant averti - les photos peuvent sembler assez mauvais un GIF.

Questions connexes