仓酷云

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

[学习教程] ASP网页编程之不必组件完成上载功效(1)

[复制链接]
冷月葬花魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:34:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。----filename/upaoad.asp/

<%
PublicFunctionBuildUploadRequest(strRequestBin)
DimPosBeg,PosEnd,boundary,boundaryPos
Gettheboundary
PosBeg=1
PosEnd=InstrB(PosBeg,strRequestBin,getByteString(chr(13)))
boundary=MidB(strRequestBin,PosBeg,PosEnd-PosBeg)
boundaryPos=InstrB(1,strRequestBin,boundary)

Getalldatainsidetheboundaries
Dountil(boundaryPos=InstrB(strRequestBin,boundary&getByteString("--")))
Membersvariableofobjectsareputinadictionaryobject
DimUploadControl
SetUploadControl=CreateObject("Scripting.Dictionary")

DimPos,Name
Getanobjectname
Pos=InstrB(boundaryPos,strRequestBin,getByteString("Content-Disposition"))
Pos=InstrB(Pos,strRequestBin,getByteString("name="))
PosBeg=Pos+Len("name=")+1
PosEnd=InstrB(PosBeg,strRequestBin,getByteString(chr(34)))
Name=getString(MidB(strRequestBin,PosBeg,PosEnd-PosBeg))

DimPosFile,PosBound,ContentType,Value
Testifobjectisoffiletype
PosFile=InstrB(BoundaryPos,strRequestBin,getByteString("filename="))
PosBound=InstrB(PosEnd,strRequestBin,boundary)

IfPosFile0ANDPosFile<PosBoundThen
GetFilePathNameofthefile
PosBeg=PosFile+Len("filename=")+1
PosEnd=InstrB(PosBeg,strRequestBin,getByteString(chr(34)))
FilePathName=getString(MidB(strRequestBin,PosBeg,PosEnd-PosBeg))

Addfilename(withpath)todictionaryobject
UploadControl.Add"FilePathName",FilePathName

GetContent-Typeofthefile
Pos=InstrB(PosEnd,strRequestBin,getByteString("Content-Type:"))
PosBeg=Pos+Len("Content-Type:")+1
PosEnd=InstrB(PosBeg,strRequestBin,getByteString(chr(13)))
ContentType=getString(MidB(strRequestBin,PosBeg,PosEnd-PosBeg))

Addcontent-typetodictionaryobject
UploadControl.Add"ContentType",ContentType

Getcontentofobject
PosBeg=PosEnd+4
PosEnd=InstrB(PosBeg,strRequestBin,boundary)-2
Value=MidB(strRequestBin,PosBeg,PosEnd-PosBeg)
Else
Getcontentofobject
Pos=InstrB(Pos,strRequestBin,getByteString(chr(13)))
PosBeg=Pos+4
PosEnd=InstrB(PosBeg,strRequestBin,boundary)-2
Value=getString(MidB(strRequestBin,PosBeg,PosEnd-PosBeg))
EndIf

Addcontenttodictionaryobject
UploadControl.Add"Value",Value

Adddictionaryobjecttomaindictionary
SetUploadRequest(Name)=UploadControl

Looptonextobject
BoundaryPos=InstrB(BoundaryPos+LenB(boundary),strRequestBin,boundary)
Loop
EndFunction

Stringtobytestringconversion
PublicFunctiongetByteString(strString)
DimintCount

getByteString=""

ForintCount=1toLen(strString)
getByteString=getByteString&chrB(AscB(Mid(strString,intCount,1)))
Next
EndFunction

Bytestringtostringconversion
PublicFunctiongetString(strString)
DimintCount

getString=""

ForintCount=1toLenB(strString)
getString=getString&chr(AscB(MidB(strString,intCount,1)))
Next
EndFunction
%>
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-19 16:30:14 | 只看该作者
你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。
透明 该用户已被删除
板凳
发表于 2015-1-25 21:37:58 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
飘灵儿 该用户已被删除
地板
发表于 2015-2-4 04:21:48 | 只看该作者
ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。
柔情似水 该用户已被删除
5#
发表于 2015-2-9 15:49:36 | 只看该作者
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
小魔女 该用户已被删除
6#
发表于 2015-2-27 09:05:31 | 只看该作者
跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组
不帅 该用户已被删除
7#
发表于 2015-3-9 00:20:06 | 只看该作者
学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。
海妖 该用户已被删除
8#
发表于 2015-3-23 00:42:25 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-24 04:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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