2

我正在显示这样的图像:

<img src='counter.asp'>

counter.asp正在做一个命中计数器来确定图像显示的频率(我将用modrewriteURL 替换它)。

问题:在counter.asp脚本中,我需要将实际.jpg图像发送到浏览器。怎么可能做到这一点?我想我需要通过 FSO 加载图像,然后使用Response.BinaryWrite- 任何想法发送它?

4

3 回答 3

10

要读取和输出二进制文件,您可以简单地使用 ADODB.Stream 对象。

请参阅 ADODB.Stream MSDN 库: http:
//msdn.microsoft.com/en-us/library/ms675032 (VS.85).aspx

这是我从专家交流中找到的一个例子:

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  
于 2010-04-09T11:37:34.283 回答
2

你可以将你重定向counter.asp到你想要的图像..

<%
response.redirect("/virtual/path/to/yourimage.jpg")
%>
于 2010-03-21T05:47:09.737 回答
-5

FSO 无法加载二进制文件,只能加载文本。您将需要使用第 3 方组件。

于 2010-03-19T23:35:25.150 回答