|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
使用filesystemobject,可以对服务器上的文件进行操作,浏览、复制、移动、删除等。有ado的支持,asp对数据库的操作非常得心应手。你甚至可以像使用本地数据库那样,管理远程主机上的数据库,对表格、记录进行各种操作。上传|无组件ASP无组件上传
申明:从网上搜集了一部分,本人写了一部分。次要提拔就是关于form的二进制数据举行了类封装,能够简单的失掉form内的元素的信息。
Form二进制数据格局:
支解标记数据+0x0D0A
元素申明信息+0x0D0A0D0A
元素内容数据+0x0D0A
支解标记数据+0x0D0A
元素申明信息+0x0D0A0D0A
元素内容数据+0x0D0A
……
支解标记数据+0x0D0A
1.Upload.htm
<html>
<head><title>文件上传</title></head>
<body>
<formenctype="multipart/form-data"action="upload.asp"method="post">
<inputname="text0"type=textvalue="文本框"><br>
<inputname="file1"type=fileaccept="image/*"><br>
<inputname="file2"type=fileaccept="image/*"><br>
<inputtype=submitvalue="上传">
</form>
</body>
</html>
2.upload.asp
<!--#includefile="upload.inc"-->
<%
bysam2004,6
###############################################################################
response.expires=0
ifrequest.servervariables("REQUEST_METHOD")="POST"then
response.clear()
response.buffer=true
setuform=newuploadform
uform.find_element"text0"
data=midb(uform.formdata,uform.datastart,uform.datalen)
Response.binaryWritedata
sdata=binarytostring(data)
Response.writesdata
Response.binarywritestringtobinary(sdata)
uform.find_element"file1"
savefileserver.mappath("/recv1.dat"),uform.formdata,uform.datastart,uform.datalen
uform.find_element"file2"
savefileserver.mappath("/recv2.dat"),uform.formdata,uform.datastart,uform.datalen
setuform=nothing
endif
%>
3.upload.inc
<%
bysam2004,6
#################################################################
functionsavefile(filename,formdata,start,len)
setstrm1=server.createobject("adodb.stream")
setstrm2=server.createobject("adodb.stream")
strm1.open
strm1.type=1binary
strm2.open
strm2.type=1binary
strm1.writeformdata
strm1.savetofileserver.mappath("/1.raw"),2
strm1.position=start-1
strm1.copytostrm2,len
strm2.savetofileserver.mappath("/1.gif"),2
strm2.savetofilefilename,2
setstrm1=nothing
setstrm2=nothing
endfunction
functionsimplebinarytostring(binary)
dimi,s
fori=1tolenb(binary)
s=s&chr(ascb(midb(binary,i,1)))
next
simplebinarytostring=s
endfunction
functionbinarytostring(binary)
dimcl1,cl2,cl3,pl1,pl2,pl3
diml
cl1=1
cl2=1
cl3=1
l=lenb(binary)
dowhilecl1<=l
pl3=pl3&chr(ascb(midb(binary,cl1,1)))
cl1=cl1+1
cl3=cl3+1
ifcl3>300then
pl2=pl2&pl3
pl3=""
cl3=1
cl2=cl2+1
ifcl2>200then
pl1=pl1&pl2
pl2=""
cl2=1
endif
endif
loop
binarytostring=pl1&pl2&pl3
endfunction
</p>由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况; |
|