高人帮我解释一下这几条asp语句,谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/19 21:51:15
请先看代码,是二进制显示图片的,
<%
if request.QueryString("query")<>"text" then
%>
<form action="?query=test1" method="post" enctype="multipart/form-data" name="form1" id="form1">
<input type="file" name="file">
<input type="submit" name="submit" value="提交">
<label></label>
</form>
<%
else
response.ContentType="image/gif"'设置输出类型为图象
data=request.BinaryRead(request.TotalBytes)'获取客户端传送的所有数据
tcrlf=chrb(13)&chrb(10)'回车符号代码
flag=leftb(data,instrb(data,tcrlf)-1)'获取图象数据结束标志
datastart=instrb(data,tcrlf&tcrlf)+4'获取图象数据开始位置
datalength=instrb(datastart+1,data,flag)-datastart'获取图象数据长度
response.BinaryWrite midb(data,datastart,datalength)'输出图象
end if
%>
请详细说一下这几句的意思:
tcrlf=chrb(13)&chr

1、从第二个回车换行开始到最后一个回车换行之前才是真正的图片数据。
2、这个是因为一个回车换行是2个字节,那么2个回车换行就是4个字节。instrb(data,tcrlf&tcrlf)这个找到了连续两个回车换行的开始位置,加4之后就是连续两个回车换行的结束位置,也就是图片数据的开始位置。
3、instrb就是3个参数,第一个参数是开始搜索的位置,默认值为0。有默认值的参数可以不用写出。