注册 登录
编程论坛 ASP技术论坛

无组件上传代码问题

reyard 发布于 2009-09-20 13:15, 434 次点击
bCrLf = chrB(13) & chrB(10)

'取得每个项目之间的分隔符

sStart = MidB(RequestBinDate,1, InStrB(1,RequestBinDate,bCrLf)-1)这里instrb(1,requestbindate,bcrlf)-1等于0,得到的不是是空吗?

iStart = LenB (sStart)

iFormStart = iStart+2

'分解项目

Do

iInfoEnd = InStrB(iFormStart,RequestBinDate,bCrLf & bCrLf)+3

tStream.Type = 1

tStream.Mode = 3

tStream.Open

oUpFileStream.Position = iFormStart

oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart

[ 本帖最后由 reyard 于 2009-9-20 13:46 编辑 ]
2 回复
#2
mgmt_asp2009-09-21 01:34
instrb(1,requestbindate,bcrlf) 这句话的意思是从位置1开始 "回车换行符" 第一次出现的位置
MidB(RequestBinDate,1, InStrB(1,RequestBinDate,bCrLf)-1) 这句话的意思是截取二进制内容中从开始到第一次出现"回车换行符"时的内容
比如二进制代码是
aaaaaaa  bbb
那么截取后的内容是符号前的内容aaaaaaa
现在知道为什么要减1了?不减一的话就要把"回车换行符"也读出来了..
#3
reyard2009-09-21 10:46
回复 2楼 mgmt_asp
但是二进制流是以chrB(13)&chrB(10)&chrB(13)&chrB(10)也就是两个bCrLf开头的,InStrB(1,RequestBinDate,bCrLf)返回的不是1吗?
1