ASP上传图片并保存到access数据库某个表中的源码,能详细解释一下源码的意思
给你个例子:
asp源码解释 asp源码是什么
1、access表有以下几个字段:
id 自动编号,
filename 文本,
type 文本,
what OLE对象,
size 数字
2、上传页面(upfile.htm):
文件上传
3、提交页面(upload.asp):
<%
dim upload
set upload = new AnUpLoad
upload.Exe = ""
upload.MaxSize = 2 1024 1024 '2M
upload.charset = "utf-8"
upload.GetData()
if upload.ErrorID>0 then
response.Write upload.Description
else
dim file
for each frm in upload.forms("-1")
response.Write frm & "=" & upload.forms(frm) & "
"next
set file = upload.files("file1")
if not(file is nothing) then
set conn = server.CreateObject("ADODB.connection")
conn.Open "DRIVER={Microsoft Access Driver (.mdb)}; DBQ="&server.mappath("./")&"\db.mdb"
set rs = server.createobject("adodb.recordset")
rs.Open "pic", conn, 1, 3, 2
rs.addnew
rs.fields("filename") = file.LocalName
rs.fields("type") = file.ContentType
rs.fields("what") = file.GetBytes()
rs.fields("size") = file.Size
rs.update
Response.Redirect "listpic.asp"
end if
end if
set upload = nothing
%>
4、其中引用了UpLoad_Class.asp文件,是艾恩无组件上传类,网上搜一下就能找到。
ASP源码问题,请高手帮助解释一下下面整段程序的作用,及含义,把各关键语句按条解释,万分感谢!!
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
创建FileSystemObject对象。关于该对象,可以查询相关资料。下面是引用MSDN的介绍:
文件系统对象 (FSO) 模型提供一个基于对象的工具,用来处理文件夹和文件......
FSO 模型使应用程序能够创建、更改、移动和删除文件夹......
FSO 模型还使处理文件非常方便。......
Set TS1 = FSO.CreateTextFile(configFileName, True)
这一句,利用fso对象的CreateTextFile方法建立一个TextStream对象。这是一个用于读取、写入磁盘文件的对象。
TS1.Write chr(60)&chr(98)&">"&chr(60)&chr(102)&chr(111)&chr(110)&chr(116)&chr(32)&chr(99)&chr(111)&chr(108)&"o"&chr(114)&chr(61)&chr(35)&chr(70)&chr(70)&chr(48)&chr(48)&chr(48)&chr(48)&">"&chr(-19219)&chr(-12557)&chr(-23622)&chr(-19508)&chr(-12046)&chr(-13872)&chr(-12620)&chr(-10334)&chr(-19743)&chr(44)&chr(-19253)&chr(-18010)&chr(-15140)&chr(-19781)&chr(-15140)&chr(-13639)&chr(-11325)&chr(33)&"<"&chr(47)&chr(102)&chr(111)&chr(110)&chr(116)&">"&chr(60)&chr(47)&chr(98)&">"
这里,利用TextStream的Write方法向文件中写入了若干数据。翻译过来是:
错误:程序尚未注册,此功能不能使用!
以下引自MSDN:
下列对象构成 FSO 模型:
FileSystemObject
使您得以创建和删除驱动器、文件夹与文件,获取有关它们的信息,以及以常规方式操作它们。许多与此对象关联的方法在其他对象中重复这些功能。
Drive
使您得以收集附加到系统的驱动器的信息,例如有多少可用空间以及其共享名称是什么。请注意,FSO 模型下的“驱动器”不一定是硬盘:它可以是 CD-ROM 驱动器、RAM 磁盘等。驱动器也不必以物理方式附加到系统上;它也可以通过局域网 (LAN) 以逻辑方式进行连接。
Folder
使您得以创建、删除或移动文件夹,以及在系统中查询它们的名称、路径和其他信息。
File
使您得以创建、删除或移动文件,以及在系统中查询它们的名称、路径和其他信息。
TextStream
使您得以读取和写入文本文件。
下表显示 FSO 方法以及它们执行的任务:
任务 命令
创建新对象 CreateFolder 或 CreateTextFile
删除文件或文件夹 DeleteFile 或 File.Delete;DeleteFolder 或 Folder.Delete
对象 CopyFile 或 File.Copy;CopyFolder 或 Folder.Copy
移动对象 MoveFile 或 File.Move;MoveFolder 或 Folder.Move
......
补充一点:AdminName=replace(session("AdminName"),"'","") 这句话好象是替换字符吧.就是把session("AdminName")中 [']替换为空格,就是清楚单引号.我也记不清了,不对别亲我啊.
net 源码和asp源码,有什么区别?
这个问题我来简单说下,net源码是用vb或者C#开发的。基于net框架的。。
asp源码是基于jscript或者vbscript的。。。
asp是脚本网页编程,而net则是用高级编程语言来做网站,程序跟网页是分开表现的。。
你所谓的等式呢,应该是.net统称是一个平台,基于此,能开发的网站,用的语言呢是C#、、、、如是而已 源码和asp源码 完全是两种语言是跨语言的开发平台 可以用vb c++ C# ja来开发
现在大部分都是用c#开发.net程序 .net代码是不开源的 asp代码是全开源的
一个是高级语言,一个是低级语言吧!
ASP无组件上传源码解释
seannounce_upload.asp 上传页
------------------------------------
body {font-size:9pt;}
input {font-size:9pt;}
------------------------------------
seannouce_upfile.asp 保存文件到服务器
------------------------------------
<%
dim upload,file,formName,formPath
set upload=new upload_5xSoft ''建立上传对象
formPath=upload.form("filepath") ''在目录后加(/)
if right(formPath,1)<>"/" then formPath=formPath&"/"
for each formName in upload.file ''列出所有上传了的文件
set file=upload.file(formName) ''生成一个文件对象
if file.filesize<100 then
response.write "请先选择你要上传的文件 [ 重新上传 ]"
response.end
end if
if file.filesize>5001000 then '设置上传文件大小为500K
response.write "文件大小超过了限制 500K [ 重新上传 ]"
response.end
end if
if file.FileSize>0 then ''如果 FileSize > 0 说明有文件数据
file.SeAs Server.mappath("updata\"&file.FileName) ''保存文件
end if
set file=nothing
next
set upload=nothing
response.write "文件上传成功 [ 继续上传 ]"
%>
------------------------------------
upload.inc 建立upload对象
------------------------------------
dim upfile_5xSoft_Stream
Class upload_5xSoft
dim Form,File,Version
Private Sub Class_Initialize
dim iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile
dim strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr
Version=""
if Request.TotalBytes<1 then Exit Sub
set Form=CreateObject("Scripting.Dictionary")
set File=CreateObject("Scripting.Dictionary")
set upfile_5xSoft_Stream=CreateObject("Adodb.Stream")
upfile_5xSoft_Stream.mode=3
upfile_5xSoft_Stream.type=1
upfile_5xSoft_Stream.open
upfile_5xSoft_Stream.write Request.BinaryRead(Request.TotalBytes)
vbEnter=Chr(13)&Chr(10)
iDivLen=inString(1,vbEnter)+1
strDiv=subString(1,iDivLen)
iFormStart=iDivLen
iFormEnd=inString(iformStart,strDiv)-1
while iFormStart < iFormEnd
iStart=inString(iFormStart,"name=""")
iEnd=inString(iStart+6,"""")
mFormName=subString(iStart+6,iEnd-iStart-6)
iFileNameStart=inString(iEnd+1,"filename=""")
if iFileNameStart>0 and iFileNameStart iFileNameEnd=inString(iFileNameStart+10,"""") mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10) iStart=inString(iFileNameEnd+1,vbEnter&vbEnter) iEnd=inString(iStart+4,vbEnter&strDiv) if iEnd>iStart then mFileSize=iEnd-iStart-4 else mFileSize=0 end if set theFile=new FileInfo theFile.FileName=getFileName(mFileName) theFile.FilePath=getFilePath(mFileName) theFile.FileSize=mFileSize theFile.FileStart=iStart+4 theFile.FormName=FormName file.add mFormName,theFile else iStart=inString(iEnd+1,vbEnter&vbEnter) iEnd=inString(iStart+4,vbEnter&strDiv) if iEnd>iStart then mFormValue=subString(iStart+4,iEnd-iStart-4) else mFormValue="" end if form.Add mFormName,mFormValue end if iFormStart=iformEnd+iDivLen iFormEnd=inString(iformStart,strDiv)-1 wend End Sub Private Function subString(theStart,theLen) dim i,c,stemp upfile_5xSoft_Stream.Position=theStart-1 stemp="" for i=1 to theLen if upfile_5xSoft_Stream.EOS then Exit for c=ascB(upfile_5xSoft_Stream.Read(1)) If c > 127 Then if upfile_5xSoft_Stream.EOS then Exit for stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c))) i=i+1 else stemp=stemp&Chr(c) End If Next subString=stemp End function Private Function inString(theStart,varStr) dim i,j,bt,theLen,str InString=0 Str=toByte(varStr) theLen=LenB(Str) for i=theStart to upfile_5xSoft_Stream.Size-theLen if i>upfile_5xSoft_Stream.size then exit Function upfile_5xSoft_Stream.Position=i-1 if AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) then InString=i for j=2 to theLen if upfile_5xSoft_Stream.EOS then inString=0 Exit for end if if AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) then InString=0 Exit For end if next if InString<>0 then Exit Function end if next End Function Private Sub Class_Terminate form.RemoveAll file.RemoveAll set form=nothing set file=nothing upfile_5xSoft_Stream.close set upfile_5xSoft_Stream=nothing End Sub Private function GetFilePath(FullPath) If FullPath <> "" Then GetFilePath = left(FullPath,InStrRev(FullPath, "\")) Else GetFilePath = "" End If End function Private function GetFileName(FullPath) If FullPath <> "" Then GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1) Else GetFileName = "" End If End function Private function toByte(Str) dim i,iCode,c,iLow,iHigh toByte="" For i=1 To Len(Str) c=mid(Str,i,1) iCode =Asc(c) If iCode<0 Then iCode = iCode + 65535 If iCode>255 Then iLow = Left(Hex(Asc(c)),2) iHigh =Right(Hex(Asc(c)),2) toByte = toByte & chrB("&H"&iLow) & chrB("&H"&iHigh) Else toByte = toByte & chrB(AscB(c)) End If Next End function End Class Class FileInfo dim FormName,FileName,FilePath,FileSize,FileStart Private Sub Class_Initialize FileName = "" FilePath = "" FileSize = 0 FileStart= 0 FormName = "" End Sub Public function SeAs(FullPath) dim dr,ErrorChar,i SeAs=1 if trim(fullpath)="" or FileSize=0 or FileStart=0 or FileName="" then exit function if FileStart=0 or right(fullpath,1)="/" then exit function set dr=CreateObject("Adodb.Stream") dr.Mode=3 dr.Type=1 dr.Open upfile_5xSoft_Stream.position=FileStart-1 upfile_5xSoft_Stream.copyto dr,FileSize dr.SeToFile FullPath,2 dr.Close set dr=nothing SeAs=0 end function End Class 希望对楼主有帮助。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。