2010-03-19 5 views
2

Response.BinaryWrite j'afficher une image comme ceci:JPEG en utilisant

<img src='counter.asp'> 

counter.asp fait un coup-contre ne déterminent la fréquence à laquelle l'image a été affichée (je vais le remplacer avec une URL modrewrite).

Le problème: dans le counter.asp script j'ai besoin d'envoyer l'image .jpg réelle au navigateur. Comment cela pourrait-il être fait? Je suppose que je dois charger l'image par l'OFS, puis de l'envoyer à l'aide Response.BinaryWrite - des idées?

Répondre

-4

OFS ne peut pas charger un fichier binaire, seul le texte. Vous devrez utiliser un composant tiers.

+3

La réponse ci-dessous mentionnant ADODB.Stream * devrait * ont été les acceptées un. –

+0

Pourquoi est-ce accepté? – Lankymart

1

vous pouvez simplement rediriger votre counter.asp à l'image que vous voulez ..

<% 
response.redirect("/virtual/path/to/yourimage.jpg") 
%> 
10

Lire et binaire de sortie, vous pouvez simplement utiliser l'objet ADODB.Stream.

Voir la bibliothèque MSDN ADODB.Stream:
http://msdn.microsoft.com/en-us/library/ms675032(VS.85).aspx

Voici un exemple que je trouve de l'échange d'experts ainsi:

Function ReadBinaryFile(strFileName) 
     on error resume next 
     Set oStream = Server.CreateObject("ADODB.Stream") 
     if Err.Number <> 0 then 
       ReadBinaryFile=Err.Description 
       Err.Clear 
       exit function 
     end if 
     oStream.Type = 1 
     oStream.Open 

     oStream.LoadFromFile strFileName 
     if Err.Number<>0 then 
       ReadBinaryFile=Err.Description 
       Err.Clear 
       exit function 
     end if 
     ReadBinaryFile=oStream.Read 
     oStream.Close 
     set oStream = nothing 
     if Err.Number<>0 then ReadBinaryFile=Err.Description 
End Function 
Questions connexes