仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 484|回复: 7
打印 上一主题 下一主题

[学习教程] ASP教程之ASP 无组件上传

[复制链接]
若天明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:57:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-25 13:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表