仓酷云
标题:
ASP教程之ASP 无组件上传
[打印本页]
作者:
若天明
时间:
2015-1-16 22:57
标题:
ASP教程之ASP 无组件上传
使用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语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况;
作者:
乐观
时间:
2015-1-20 06:46
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
作者:
因胸联盟
时间:
2015-1-25 23:19
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
作者:
愤怒的大鸟
时间:
2015-2-2 17:25
运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。
作者:
小妖女
时间:
2015-2-8 02:51
如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
作者:
若相依
时间:
2015-2-24 02:56
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
作者:
第二个灵魂
时间:
2015-3-7 10:37
掌握asp的特性而且一定要知道为什么。
作者:
飘飘悠悠
时间:
2015-3-14 23:59
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2