金色的骷髅 发表于 2015-1-16 23:45:33

ASP编程:ASP文件上传函数库

写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们)函数|上传|函数|上传54powerman

申明:
假如你必要file表单的串值,用GetFullName("file")
假如必要file表单的文件名,用GetFileName("file")
假如必要file表单的扩大名,用GetExtName("file")
假如必要一般文本表单的值,用MyRequest("password")
假如必要file表单的二进制值,也是用MyRequest("file")
保留文件用SaveFile("file","myUpload.jpg")
写进数据库的格局:
Rs.AppandChunkMyRequest("file")
<%
Program:54powerman
EMail&MSN:54powerman@163.com
QQ:19486554
初始化数据
Response.buffer=true
FormData=Request.BinaryRead(Request.TotalBytes)
bncrlf=ChrB(13)&ChrB(10)
Setsr=CreateObject("Adodb.Stream")
sr.Mode=3
sr.Type=1
sr.Open
sr.WriteFormData
Init=sr
经常使用函数
FunctionStr2B(Str)
Fori=1Tolen(Str)
Str2B=Str2B&ChrB(Asc(Mid(Str,i,1)))
Next
EndFunction
FunctionB2Str(Str)
Fori=1ToLenB(Str)
ThisCharCode=AscB(MidB(Str,i,1))
IfThisCharCode<&H80Then
B2Str=B2Str&Chr(ThisCharCode)
Else
NextCharCode=AscB(MidB(Str,i+1,1))
B2Str=B2Str&Chr(CLng(ThisCharCode)*&H100+CInt(NextCharCode))
i=i+1
EndIf
Next
EndFunction
FunctionMyRequest(FormName)
divider=leftb(FormData,inStrb(FormData,bncrlf)-1)
Cur=inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
MyRequest=null
DataStart=inStrb(Cur,FormData,bncrlf&bncrlf)+4
DataEnd=inStrb(DataStart+1,FormData,divider)-DataStart
TempStr=Midb(FormData,Cur,DataStart)
IfinStrb(TempStr,Str2B("filename="))Then
MyRequest=Midb(FormData,DataStart,DataEnd)
else
MyRequest=B2Str(Midb(FormData,DataStart,DataEnd))
EndIf
EndFunction
FunctionGetFullName(FormName)
divider=leftb(FormData,inStrb(FormData,bncrlf)-1)
Cur=inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
DataStart=inStrb(Cur,FormData,Str2B("filename="))+10
DataEnd=inStrb(DataStart+1,FormData,ChrB(34))-DataStart
TempStr=Midb(FormData,Cur,DataStart)
GetFullName=B2Str(Midb(FormData,DataStart,DataEnd))
EndFunction
FunctionGetFileName(FormName)
FullName=GetFullName(FormName)
GetFileName=Mid(FullName,InStrRev(FullName,"")+1)
EndFunction
FunctionGetExpName(FormName)
GetExpName=Mid(GetFileName(FormName),InStrRev(GetFileName(FormName),".")+1)
EndFunction
FunctionSaveFile(FormName,FileName)
divider=leftb(FormData,inStrb(FormData,bncrlf)-1)
Cur=inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
SaveFile=false
DataStart=inStrb(Cur,FormData,bncrlf&bncrlf)+4
DataEnd=inStrb(DataStart+1,FormData,divider)-DataStart
setdr=CreateObject("Adodb.Stream")
dr.Mode=3
dr.Type=1
dr.Open
sr.Position=DataStart-1
sr.CopyTodr,DataEnd
dr.SaveToFileFileName,2
sr.Close
setsr=nothing
dr.Close
setdr=nothing
SaveFile=true
EndFunction
FunctionFileSize(FormName)
divider=leftb(FormData,inStrb(FormData,bncrlf)-1)
Cur=inStrb(FormData,Str2B("name=")&ChrB(34)&Str2B(FormName)&ChrB(34))
FileSize=0
DataStart=inStrb(Cur,FormData,bncrlf&bncrlf)+4
FileSize=inStrb(DataStart+1,FormData,divider)-DataStart-2
EndFunction
%>
</p>对于中小型web应用来说,php有很强的竞争力,linux+apache+mysql+php(lamp)的组合几乎可以胜任绝大多数网站的解决方案,对于大型应用来讲,对于系统架构要求更高,需要有成熟的框架支持,jsp的struts是个不错的框架,国内介绍它的资料也非常多,应用逐渐广泛起来。asp就不用说了,

活着的死人 发表于 2015-1-20 11:41:34

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

深爱那片海 发表于 2015-1-29 06:59:43

哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?

灵魂腐蚀 发表于 2015-2-3 18:57:10

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

老尸 发表于 2015-2-9 04:06:24

不是很难但是英文要有一点基础网上的教程很少有系统的详细的去买书吧,另不用专门学习vb关于vbscript脚本在asp教材都有介绍

愤怒的大鸟 发表于 2015-2-26 21:00:46

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

透明 发表于 2015-3-8 17:46:45

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

兰色精灵 发表于 2015-3-16 08:30:56

那么,ASP.Net有哪些改进呢?

再见西城 发表于 2015-3-22 21:33:15

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:
页: [1]
查看完整版本: ASP编程:ASP文件上传函数库