但是有很多地方都不懂,恳请兄弟姐妹们能够在百忙之中抽点时间来帮帮我!
代码如下:(网上找到的代码)
(upload.htm):
<html>
<body>
<center>
<form name="main Form" enctype="multipart/form-data" action="process.asp" method=post>
<input type=file name=mefile>
<input type=submit name=ok value="OK">
</form>
</center>
</body>
</html>
(process.asp):
<%
response.buffer=true ‘缓冲
formsize=request.totalbytes ‘获取提交数据
formdata=request.binaryread(formsize) ‘获到二进制表单的全部数据
bncrlf=chrB(13)&chrB(10) ‘回车换行符
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1) ‘分割符
datastart=instrb(formdata,bncrlf&bncrlf)+4 ‘开始位置
dataend=instrb(datastart+1,formdata,divider)-datastart ‘结束位置
mydata=midb(formdata,datastart,dataend) ’提取优化过的数据
setconnGraph=server.CreateObject("ADODB.connection")
connGraph.ConnectionString="driver={MicrosoftAccessDriver(*.mdb)};DBQ="&server.MapPat
connGraph.Open
setrec=server.createobject("ADODB.recordset")
rec.Open"SELECT*FROM[images]whereidisnull",connGraph,1,3
rec.addnew
rec("img").appendchunkmydata
rec.update
rec.close
setrec=nothing
setconnGraph=nothing
%>
部分可以了解,但还有一些不懂 如下:
Bncrlf=chrb(13)&chrb(10) ‘回车换行符
问题一:为什么要用到回车换行
Divider=left(formdata,clng(instrb(formdata,bncrlf))-1) ‘分割符
问题二: instrb(formdata,bncrlf)中为什么要取得在formdata中的bncrlf中的数据
问题三:left(formdata,clng(instrb(formdata,bncrlf))-1)中为什么要从formdata左边的clng(instrb(formdata,bncrlf)获取数据而最后要减速去1呢,而这句为什么又会被叫是分割符呢
datastart=instrb(formdata,bncrlf&bncrlf)+4 ‘开始位置
问题四:在这句formdata,bncrlf&bncrlf为什么要用两个回车换行符 到最后为什么还要加4
而这句为什么又会被叫是分割符的呢
dataend=instrb(datastart+1,formdata,divider)-datastart ‘结束位置
问题五:
在这句中的instrb(datastart+1,formdata,divider)中的datastart+1是什么意思,还有这里为什么会有三个参数(datastart+1,formdata,divider)为什么要减去datastart
附:(在这五个问题中截取图片流程又是怎么样的呢??为什么要这样才能截取图片呢?)
希望我们能做个朋友!!!
恳请shf@ynmail.com能够帮我解决这五个问题. 在此说声谢谢了!!