|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
asp,jsp,php是web开发的三大技术,asp简单易用且有microsoft做靠山,jsp功能强大是因为有java支持,php则开源跨平台.在国内,asp应用范围最广,jsp发展势头最猛,php则处于劣势.这可能与公司的支持以及技术的培训有关.上传|数据|数据库|无组件|中文受本论坛某些帖子启示,因而下手编写了这个程序。该程序撑持任何文本和二进制格局文件的上传;撑持文件表单域和一般表单域夹杂上传;撑持中文文件名;撑持掩盖上传和文件同名时主动修正文件名;撑持同时上传多个文件,并且多个文件表单域名能够不异;撑持上传文件巨细的把持……我本人感到很不错哟:)
本程序不必任何数据库撑持,间接将上传的文件保留到服务器指定的路径下。
测试情况:Windows2000+IIS5.0(对ADO版本有请求)
已知BUG:使用不异文件表单名以独一文件名体例同时上传多个文件,且服务器上存在多个不异文件名时,只要第一个文件会主动更名上传乐成,然后程序报错。
源代码以下,接待人人参考斧正:
文件名:UploadX.asp
<%
DimFormData,FormSize,Divider,bCrLf
FormSize=Request.TotalBytes
FormData=Request.BinaryRead(FormSize)
bCrLf=ChrB(13)&ChrB(10)
Divider=LeftB(FormData,InStrB(FormData,bCrLf)-1)
将上传的文件保留到path所指定的目次上面。
Formfield上传表单的"file"域名
Path要保留文件的服务器相对路径,情势为:"d:pathsubpath"或"d:pathsubpath"
MaxSize限定上传文件的最年夜长度,以KByte为单元
SavType服务器保留文件的体例:
0独一文件名体例,假如有同名则主动更名;
1报错体例,假如有同名则堕落;
2掩盖体例,假如有同名则掩盖本来的文件
FunctionSaveFile(FormFileField,Path,MaxSize,SavType)
DimStreamObj,StreamObj1
SetStreamObj=Server.CreateObject("ADODB.Stream")
SetStreamObj1=Server.CreateObject("ADODB.Stream")
StreamObj.Mode=3
StreamObj1.Mode=3
StreamObj.Type=1
StreamObj1.Type=1
SaveFile=""
StartPos=LenB(Divider)+2
FormFileField=Chr(34)&FormFileField&Chr(34)
IfRight(Path,1)""Then
Path=Path&""
EndIf
DoWhileStartPos>0
strlen=InStrB(StartPos,FormData,bCrLf)-StartPos
SearchStr=MidB(FormData,StartPos,strlen)
IfInStr(bin2str(SearchStr),FormFileField)>0Then
FileName=bin2str(GetFileName(SearchStr,path,SavType))
IfFileName""Then
FileStart=InStrB(StartPos,FormData,bCrLf&bCrLf)+4
FileLen=InStrB(StartPos,FormData,Divider)-2-FileStart
IfFileLen<=MaxSize*1024Then
FileContent=MidB(FormData,FileStart,FileLen)
StreamObj.Open
StreamObj1.Open
StreamObj.WriteFormData
StreamObj.Position=FileStart-1
StreamObj.CopyToStreamObj1,FileLen
IfSavType=0Then
SavType=1
EndIf
StreamObj1.SaveToFilePath&FileName,SavType
 </p>在实现ERP等高端的ASP应用时,用户需要提供核心的经营资料,需要ASP商有很高的信用度。楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。 |
|