我正在显示如下图像:
<img src='counter.asp'>
counter.asp 正在点击计数器确定图像的显示频率(我将用modrewrite
网址替换它。)
问题:在 counter.asp 脚本中,我需要将实际的.jpg
图像发送到浏览器。怎么可以这样做?我想我需要通过FSO加载图像,然后使用Response.BinaryWrite
发送它 - 任何想法?
答案 0 :(得分:10)
要读取和输出二进制文件,只需使用ADODB.Stream对象即可。
请参阅ADODB.Stream MSDN Library:
http://msdn.microsoft.com/en-us/library/ms675032(VS.85).aspx
以下是我从Experts Exchange发现的一个例子:
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
答案 1 :(得分:1)
您只需将counter.asp
重定向到所需的图片即可。
<%
response.redirect("/virtual/path/to/yourimage.jpg")
%>
答案 2 :(得分:-4)
FSO无法加载二进制文件,只能加载文本。您将需要使用第3方组件。