asp动态输出图片

  asp可以使用adodb.stream读取图片文件后动态输出。通过动态输出图片对象,就可以统计图片访问的次数或者对图片引用来源进行判断,做一些简单的图片防盗链功能之类的。

  如

<img src="readimg.asp?img=文件名"/>

readimg.asp

function getMIME(v)
  if instr(v,".gif")>0 then
    geMIME="image/gif"
  elseif instr(v,".png")>0 then
    geMIME="image/png"
  elseif instr(v,".bmp")>0 then
    geMIME="application/x-MS-bmp"
   else
    geMIME="image/jpeg"
   end if
end function

img=lcase(request.querystring("img"))
'统计或者判断来源的代码
Set   S=server.CreateObject("Adodb.Stream")  
S.Mode=3  
S.Type=1  
S.Open  
S.LoadFromFile(server.mappath("图片文件夹路径/"&img))
Response.ContentType   =   getMIME(img)
Response.BinaryWrite(S.Read)
Response.Flush
s.close
set   s=nothing 

注意:asp页面里面不能再有其它的向客户端输出,不然会把图片的数据流和其他输出混在一块,导致图片显示错误

如果要输出其他类型的文件,设置好响应头的contenttype就行,既文件的mime类型。


原创文章,转载请注明出处:asp动态输出图片
评论(0)Web开发网
阅读(39)喜欢(0)不喜欢(0)Asp/VBScript