冷月葬花魂 发表于 2015-1-16 22:34:01

ASP网页编程之不必组件完成上载功能(1)

楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用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代码,可快速地完成网站的应用程序。

柔情似水 发表于 2015-2-9 15:49:36

虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。

小魔女 发表于 2015-2-27 09:05:31

跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组

不帅 发表于 2015-3-9 00:20:06

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

海妖 发表于 2015-3-23 00:42:25

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页: [1]
查看完整版本: ASP网页编程之不必组件完成上载功效(1)