原先的情况:
之前我们显示图片用的是这样的语句:
<img src="http://www.sample.com/sample.jpg"/>
这里直接把图片地址写到src属性里面了,可以显示图片。
新的需求:
1:我们要统计图片被访问的次数 (这个需求暂时不用实现)
2:通过在url里面加参数,就能显示不同的图片 (这个需求很急)
基于这样的需求,原先的显示方式肯定不行,现在我知道用asp页面可以实现这样的需求,实现结果类似以下语句:
<img src="http://www.sample.com/sample.asp"/>
这样当我要显示图片1的时候,可以写成:<img src="http://www.sample.com/sample.asp?id=1"/>
当我要显示图片2的时候,可以写成:<img src="http://www.sample.com/sample.asp?id=2"/>
但我从来没接触过asp,事情又比较急,因此希望CSDN里的高手能给出sample.asp的完整实现,我好参考修改,谢谢!
------解决方案--------------------
得到id,根据id得到真实文件名TrueFileName,我就不写了。
fileURL=Server.MapPath(TrueFileName)
Set Stream = server.createObject("ADODB.Stream")
Stream.Type = adTypeBinary
Stream.Open
Stream.LoadFromFile fileURL
While Not Stream.EOS
Response.BinaryWrite Stream.Read(1024 * 64)
Wend
Stream.Close
Set Stream = Nothing
Response.Flush
Response.End
------解决方案--------------------
<script>
var $=function(id){ return document.getElementById(id); }
window.onload=function(){
var imgURL=$("img1").src;
var id=imgURL.split("?id=")[1];
$("img1").src="http://www.2.com/"+id+"/sample.jpg;
$("img1").classText="display:''";
}
</script>
<img id=img1 src="http://www.sample.com/sample.asp?id=1" style="display:none" />
------解决方案--------------------
这个方法肯定可以,我17楼没写清楚,重新整理如下。你测试的时候一定要对应好涉及到的各个URL:
在你可控制的网站放一个图片处理计数文件,例如http://www.sample.com/sample.asp:
<%
id=request.QueryString("id")
if id="" then id=-1;
'假设http://www.2.com/ 是你放图片的网站,注意把图片路径写正确
if id<0 then
imgUrl="http://www.2.com/alt.jpg"'当解析错误时,一张替换图片的地址
else
imgUrl="http://www.2.com/"&id&"/sample.jpg"'真正的图片地址
'计数:
'sql="UPDATE [计数表] SET [计数字段]=[计数字段]+1 WHERE imgID="&id
conn.execute(sql)
conn.close()
end if
Response.Status="301 Moved Permanently"'声明转向状态为301
Response.AddHeader "Location",imgUrl '跳转
Response.End()
%>
邮件内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> test </title>
</head>
<body>
<img src="http://www.sample.com/sample.asp?id=1" alt='id=1'">
<img src="http://www.sample.com/sample.asp?id=2" alt='id=2'">
</body>
</html>
再试试吧