仓酷云

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

[学习教程] ASP网页设计无组件文件上传代码实例(作者:Starle...

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:33:06 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。上传|无组件关头词:ASP,无组件上传

关于无组件文件上传的文章已良多了,以是在这里我不想再注释无组件文件上传的道理。在ASP中没法将二进制文件数据间接保留成文件,以是我们一样平常仍是使用数据库来保留用户上传的文件。

1。数据库表布局(Access):
UserID:Text(保留上传文件的用户ID)
FileContentType:Text(用来保留上传文件的范例,eg:"Application/msword",次要用来利用户能准确下载此文件)
FileContent:OLEObject(保留文件数据)

2。HTML文件
muploadfile.htm
<Formname="upload_file"enctype="multipart/form-data"action="muploadfile.asp"method=post>
<inputtype=hiddenname="UserID"value="abc">
<inputtype=hiddenname="FileUploadStart">这里用来暗示入手下手文件数据上传
Filetosend:<BR>
<INPUTTYPE="file"name="file_up"size="30"><br>
<INPUTTYPE="file"name="file_up"size="30"><br>
<inputtype=hiddenname="FileUploadEnd">这里用来暗示文件数据停止
<inputtype=submitvalue=Submit>
</Form>

3。ASP文件
muploadfile.asp

<%
Response.Expires=0
Functionbin2str(binstr)
Dimvarlen,clow,ccc,skipflag

skipflag=0
ccc=""
IfNotIsNull(binstr)Then
varlen=LenB(binstr)
Fori=1Tovarlen
Ifskipflag=0Then
clow=MidB(binstr,i,1)
IfAscB(clow)>127Then
ccc=ccc&Chr(AscW(MidB(binstr,i+1,1)&clow))
skipflag=1
Else
ccc=ccc&Chr(AscB(clow))
EndIf
Else
skipflag=0
EndIf
Next
EndIf
bin2str=ccc
EndFunction


varByteCount=Request.TotalBytes
bnCRLF=chrB(13)&chrB(10)
binHTTPHeader=Request.BinaryRead(varByteCount)
Divider=LEFTB(binHTTPHeader,INSTRB(binHTTPHeader,bnCRLF)-1)

入手下手读非文件域的数据
DowhilelenB(binHTTPHeader)>46

binHeaderData=LeftB(binHTTPHeader,INSTRB(binHTTPHeader,bnCRLF&bnCRLF)-1)
strHeaderData=bin2str(binHeaderData)

lngFieldNameStart=Instr(strHeaderData,"name="&chr(34))+Len("name="&chr(34))
lngFieldNameEnd=Instr(lngFieldNameStart,strHeaderData,chr(34))


strFieldName=Mid(strHeaderData,lngFieldNameStart,lngFieldNameEnd-lngFieldNameStart)
strFieldName=Trim(strFieldName)
strFieldName=Replace(strFieldName,vbcrlf,vbnullstring)

判别文件数据时分入手下手
IfstrComp(strFieldName,"FileUploadStart",1)=0Then
binHTTPHeader=MIDB(binHTTPHeader,INSTRB(DataStart+1,binHTTPHeader,divider))
exitdo
Endif

DataStart=INSTRB(binHTTPHeader,bnCRLF&bnCRLF)+4
DataEnd=INSTRB(DataStart+1,binHTTPHeader,divider)-DataStart

binFieldValue=MIDB(binHTTPHeader,DataStart,DataEnd)
strFieldValue=bin2str(binFieldValue)
&nb</p>对用户来说可预见费用、节约费用,可以做到花少钱办大事。由于省去了购买软件和硬件等的前期费用,用户可以租用较高级的应用软件。ASP的收费是根据软件的类型、客制化程度、用户数量、服务期限来定的,对客户来说这笔费用是可以预见的。方便于客户应用软件的升级。
小女巫 该用户已被删除
10#
发表于 2015-3-22 17:07:42 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
莫相离 该用户已被删除
9#
发表于 2015-3-15 22:23:07 | 只看该作者
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
若相依 该用户已被删除
8#
发表于 2015-3-8 11:36:10 | 只看该作者
接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。
金色的骷髅 该用户已被删除
7#
发表于 2015-2-26 03:11:36 | 只看该作者
还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。
透明 该用户已被删除
6#
发表于 2015-2-8 20:05:38 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
兰色精灵 该用户已被删除
5#
发表于 2015-2-3 09:46:58 | 只看该作者
我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
愤怒的大鸟 该用户已被删除
地板
发表于 2015-1-25 16:24:53 | 只看该作者
不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍
山那边是海 该用户已被删除
板凳
 楼主| 发表于 2015-1-20 12:41:00 | 只看该作者
它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
再见西城 该用户已被删除
沙发
发表于 2015-1-17 13:54:42 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-25 12:26

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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