我正在显示这样的图像:
<img src='counter.asp'>
counter.asp正在做一个命中计数器来确定图像显示的频率(我将用modrewrite
URL 替换它)。
问题:在counter.asp脚本中,我需要将实际.jpg
图像发送到浏览器。怎么可能做到这一点?我想我需要通过 FSO 加载图像,然后使用Response.BinaryWrite
- 任何想法发送它?
我正在显示这样的图像:
<img src='counter.asp'>
counter.asp正在做一个命中计数器来确定图像显示的频率(我将用modrewrite
URL 替换它)。
问题:在counter.asp脚本中,我需要将实际.jpg
图像发送到浏览器。怎么可能做到这一点?我想我需要通过 FSO 加载图像,然后使用Response.BinaryWrite
- 任何想法发送它?
要读取和输出二进制文件,您可以简单地使用 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
你可以将你重定向counter.asp
到你想要的图像..
<%
response.redirect("/virtual/path/to/yourimage.jpg")
%>
FSO 无法加载二进制文件,只能加载文本。您将需要使用第 3 方组件。