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还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 跟学别的语言一样,先掌握变量,流程控制语句(就是ifwhileselect)等,函数/过程,数组 学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
页:
[1]