php 无组件上传代码,最短的无组件上传代码(仅9行)-ASP教程,组件开发

formsize=request.totalbytes()

formdata=request.binaryread(formsize)

dataheader=leftb(formdata,instrb(formdata,chrb(13)&chrb(10)))

strfiledata=midb(formdata,lenb(dataheader),lenb(formdata)-lenb(dataheader)*2-3)

headerpos2=instrb(strfiledata,chrb(ascb("-"))&chrb(ascb("t"))&chrb(ascb("y"))&chrb(ascb("p"))&c

hrb(ascb("e")))

headerpos3=instrb(headerpos2,strfiledata,chrb(13))

dataheader2=leftb(strfiledata,headerpos3+4)

strfiledata=midb(strfiledata,lenb(dataheader2),lenb(strfiledata))

response.binarywrite(strfiledata)

dataheader–文件头

strfiledata–去处文件头后的数据,最后的输出值

headerpos2–content-type:的位置

headerpos3–例如:content-type:image/gif的位置

dataheader2–整个前面的文件头

思想:

1。先直接去掉文件头和尾(例如—————————–7d230d1f940277)

2。跳过前面所有信息直接查找content-type:image/gif

3。提取有用的信息和字段

4。数据都提出来了至于怎么保存就简单了。至于用fso或adodb.stream就随你了。

问题:

有人可能会讲一个表单不可能只有一个file

这样的话你的数据就不能用这么简单的办法正常提取了

其实也好办你把他们分开做不就就完了:)

下面是完整实例

uup.htm

www.cgfront.com

uup.asp

formsize=request.totalbytes()

formdata=request.binaryread(formsize)

dataheader=leftb(formdata,instrb(formdata,chrb(13)&chrb(10)))

strfiledata=midb(formdata,lenb(dataheader),lenb(formdata)-lenb(dataheader)*2-3)

headerpos2=instrb(strfiledata,chrb(ascb("-"))&chrb(ascb("t"))&chrb(ascb("y"))&chrb(ascb("p"))&c

hrb(ascb("e")))

headerpos3=instrb(headerpos2,strfiledata,chrb(13))

dataheader2=leftb(strfiledata,headerpos3+4)

strfiledata=midb(strfiledata,lenb(dataheader2),lenb(strfiledata))

response.binarywrite(strfiledata)

%>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值