应用最简单的 asp上传文件实例
2010-06-20 20:17
731 查看
应用最简单的 asp上传文件实例
如果你想把自己机器的图片或者文件放到服务器上该怎么办呢?
2 用 u 盘拷贝到服务器上,可选有三种办法 1 ftp 上传。 3 如果服务器支持 asp 上传功能,用网页浏览器将文件上传到服务器上。
今天我讲解如何利用 asp 上传功能将本地的文件上传到服务器上。
源代码在附件里
最简系统包括下面三个文件
选择外地文件 upload.htm -- 上传口文件。
uploadimg.asp -- 上传顺序控制文件
此文件初学者不用学习,upload_5xsoft.inc -- 无组件上传类。只要会用就可以了
****************************
upload.htm 内容
*********
<html>
<head>
</head>
<body>
<t width="80%" border="0" align="center">
<form name="form1" method="post" action="uploadimg.asp" enctype="multipart/form-data">
<tr>
<td align="center"><input name="upfile" type="file" id="upfile"></td>
</tr>
<tr>
<td align="center"><input type="submit" name="Submit" value=" 上传图片 "></td>
</tr>
</form>
</table>
</body>
</html>
****************************
uploadimg.asp 内容
*********
<!--#includ FILE="upload_5xsoft.inc"-->
<%
file,dim upload.filepath
filepath="UPLOAD/"
set upload=new upload_5xSoft '' 建立上传对象
for each formNam in upload.fil '' 列出所有上传了文件
set file=upload.fil formNam '' 生成一个文件对象
if file.FileSize>0 then '' 如果 FileS > 0 说明有文件数据
fname = file.filename
file.SaveA Server.mappath filepath&fnam '' 保管文件
end if
set file=nothing
next
set upload=nothing '' 删除此对象
********************************
本演练应用此类的方法 upload_5xsoft.inc 内容 -- 此文件内容不属于本演练顺序内容。
*********
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
dim oUpFileStream
Class upload_5xSoft
File,dim Form.Version
Privat Sub Class_Initi
sStart,dim RequestBinDate.bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
sFilePath,dim iFileSize.sFileType,sFormvalue,sFileName
iFindEndim iFindStart.d
iFormEnd,dim iFormStart.sFormName
Version=" 无组件上传类 Version 0.93"
set Form=Server.CreateObject "Scripting.Dictionary"
set File=Server.CreateObject "Scripting.Dictionary"
if Request.TotalBytes<1 then Exit Sub
set tStream = Server.CreateObject "adodb.stream"
set oUpFileStream = Server.CreateObject "adodb.stream"
oUpFileStream.Typ = 1
oUpFileStream.Mod =3
oUpFileStream.Open
oUpFileStream.Write Request.BinaryRead Request.TotalByt
3 &" 毫秒 </font><br>Response.Write "<font size=""2""> 页面执行时间: "&FormatNumb Timer -time1 *1000."
oUpFileStream.Position=0
RequestBinD =oUpFileStream.Read
iFormStart = 1
iFormEnd = LenB RequestBinD
bCrLf = chrB 13 & chrB 10
1,sStart = MidB RequestBinDate. InStrB iFormStart,RequestBinDate,bCrLf -1
iStart = LenB sStart
iFormStart=iFormStart+iStart+1
whil iFormStart + 10 < iFormEnd
RequestBinDate, iInfoEnd = InStrB iFormStart.bCrLf & bCrLf +3
tStream.Typ = 1
tStream.Mod =3
tStream.Open
oUpFileStream.Posit = iFormStart
iInfoEnd-iFormStar oUpFileStream.CopyTo tStream.t
tStream.Posit = 0
tStream.Typ = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
' 取得表单项目名称
RequestBinDate, iFormStart = InStrB iInfoEnd.sStart
sInfo, iFindStart = InStr 22."name=""",1 +6
sInfo, iFindEnd = InStr iFindStart."""",1
iFindStart, sFormNam = Mid sinfo.iFindEnd-iFindStart
' 如果是文件
sInfo, if InStr 45."filename=""",1 > 0 then
set oFileInfo=new FileInfo
' 取得文件名
sInfo, iFindStart = InStr iFindEnd."filename=""",1 +10
sInfo, iFindEnd = InStr iFindStart."""",1
iFindStart, sFileNam = Mid sinfo.iFindEnd-iFindStart
oFileInfo.FileName=getFileNam sFileNam
oFileInfo.FilePath=getFilePath sFileNam
' 取得文件类型
sInfo, iFindStart = InStr iFindEnd."Content-Type: ",1 +14
sInfo, iFindEnd = InStr iFindStart.vbCr
iFindStart, oFileInfo.FileTyp =Mid sinfo.iFindEnd-iFindStart
oFileInfo.FileStart =iInfoEnd
oFileInfo.FileS = iFormStart -iInfoEnd -3
oFileInfo.FormName=sFormName
oFileInf file.add sFormName.o
else
' 如果是表单项目
tStream.Close
tStream.Typ =1
tStream.Mod =3
tStream.Open
oUpFileStream.Posit = iInfoEnd
iFormStart-iInfoEnd- oUpFileStream.CopyTo tStream.3
tStream.Posit = 0
tStream.Typ = 2
tStream.Charset ="gb2312"
sFormvalu = tStream.ReadText
sFormvalu form.Add sFormName.e
end if
tStream.Close
iFormStart=iFormStart+iStart+1
wend
RequestBinDate=""
set tStream =nothing
End Sub
Priv Sub Class_Terminate
if not Request.TotalBytes<1 then
form.RemoveAll
file.RemoveAll
set form=nothing
set file=nothing
oUpFileStream.Close
set oUpFileStream =nothing
end if
End Sub
Privat function GetFilePath FullPath
If FullPath <> "" Then
InStrRev FullPath, GetFilePath = left FullPath. ""
Else
GetFilePath = ""
End If
End function
Priv function GetFileNam FullPath
If FullPath <> "" Then
InStrRev FullPath, GetFileNam = mid FullPath. "" +1
Else
GetFileNam = ""
End If
End function
End Class
Class FileInfo
FileName, dim FormName.FilePath,FileSize,FileType,FileStart
Privat Sub Class_Initi
FileNam = ""
FilePath = ""
FileS = 0
FileStart= 0
FormNam = ""
FileTyp = ""
End Sub
Public function SaveA FullPath
ErrorChar, dim oFileStream.i
SaveAs=1
1 ="/" then exit functio if trim fullpath ="" or right fullpath.n
set oFileStream=CreateObject "Adodb.Stream"
oFileStream.Type=1
oFileStream.Mode=3
oFileStream.Open
oUpFileStream.position=FileStart
FileSiz oUpFileStream.copyto oFileStream.e
oFileStream.SaveToFil FullPath.2
oFileStream.Close
set oFileStream=noth
SaveAs=0
end function
End Class
</SCRIPT>
************************
和附件里的内容有所不同,此文所诉的内容是上传文件的最简化程式。附件的源代码加入了一些检测函数和获取普通表单的方法 upload.form 不过核心完全一样,请朋友们自己分析一下,学会本演练, asp 一般的上传功能就基本掌握了
如果你想把自己机器的图片或者文件放到服务器上该怎么办呢?
2 用 u 盘拷贝到服务器上,可选有三种办法 1 ftp 上传。 3 如果服务器支持 asp 上传功能,用网页浏览器将文件上传到服务器上。
今天我讲解如何利用 asp 上传功能将本地的文件上传到服务器上。
源代码在附件里
最简系统包括下面三个文件
选择外地文件 upload.htm -- 上传口文件。
uploadimg.asp -- 上传顺序控制文件
此文件初学者不用学习,upload_5xsoft.inc -- 无组件上传类。只要会用就可以了
****************************
upload.htm 内容
*********
<html>
<head>
</head>
<body>
<t width="80%" border="0" align="center">
<form name="form1" method="post" action="uploadimg.asp" enctype="multipart/form-data">
<tr>
<td align="center"><input name="upfile" type="file" id="upfile"></td>
</tr>
<tr>
<td align="center"><input type="submit" name="Submit" value=" 上传图片 "></td>
</tr>
</form>
</table>
</body>
</html>
****************************
uploadimg.asp 内容
*********
<!--#includ FILE="upload_5xsoft.inc"-->
<%
file,dim upload.filepath
filepath="UPLOAD/"
set upload=new upload_5xSoft '' 建立上传对象
for each formNam in upload.fil '' 列出所有上传了文件
set file=upload.fil formNam '' 生成一个文件对象
if file.FileSize>0 then '' 如果 FileS > 0 说明有文件数据
fname = file.filename
file.SaveA Server.mappath filepath&fnam '' 保管文件
end if
set file=nothing
next
set upload=nothing '' 删除此对象
********************************
本演练应用此类的方法 upload_5xsoft.inc 内容 -- 此文件内容不属于本演练顺序内容。
*********
<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT>
dim oUpFileStream
Class upload_5xSoft
File,dim Form.Version
Privat Sub Class_Initi
sStart,dim RequestBinDate.bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
sFilePath,dim iFileSize.sFileType,sFormvalue,sFileName
iFindEndim iFindStart.d
iFormEnd,dim iFormStart.sFormName
Version=" 无组件上传类 Version 0.93"
set Form=Server.CreateObject "Scripting.Dictionary"
set File=Server.CreateObject "Scripting.Dictionary"
if Request.TotalBytes<1 then Exit Sub
set tStream = Server.CreateObject "adodb.stream"
set oUpFileStream = Server.CreateObject "adodb.stream"
oUpFileStream.Typ = 1
oUpFileStream.Mod =3
oUpFileStream.Open
oUpFileStream.Write Request.BinaryRead Request.TotalByt
3 &" 毫秒 </font><br>Response.Write "<font size=""2""> 页面执行时间: "&FormatNumb Timer -time1 *1000."
oUpFileStream.Position=0
RequestBinD =oUpFileStream.Read
iFormStart = 1
iFormEnd = LenB RequestBinD
bCrLf = chrB 13 & chrB 10
1,sStart = MidB RequestBinDate. InStrB iFormStart,RequestBinDate,bCrLf -1
iStart = LenB sStart
iFormStart=iFormStart+iStart+1
whil iFormStart + 10 < iFormEnd
RequestBinDate, iInfoEnd = InStrB iFormStart.bCrLf & bCrLf +3
tStream.Typ = 1
tStream.Mod =3
tStream.Open
oUpFileStream.Posit = iFormStart
iInfoEnd-iFormStar oUpFileStream.CopyTo tStream.t
tStream.Posit = 0
tStream.Typ = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
' 取得表单项目名称
RequestBinDate, iFormStart = InStrB iInfoEnd.sStart
sInfo, iFindStart = InStr 22."name=""",1 +6
sInfo, iFindEnd = InStr iFindStart."""",1
iFindStart, sFormNam = Mid sinfo.iFindEnd-iFindStart
' 如果是文件
sInfo, if InStr 45."filename=""",1 > 0 then
set oFileInfo=new FileInfo
' 取得文件名
sInfo, iFindStart = InStr iFindEnd."filename=""",1 +10
sInfo, iFindEnd = InStr iFindStart."""",1
iFindStart, sFileNam = Mid sinfo.iFindEnd-iFindStart
oFileInfo.FileName=getFileNam sFileNam
oFileInfo.FilePath=getFilePath sFileNam
' 取得文件类型
sInfo, iFindStart = InStr iFindEnd."Content-Type: ",1 +14
sInfo, iFindEnd = InStr iFindStart.vbCr
iFindStart, oFileInfo.FileTyp =Mid sinfo.iFindEnd-iFindStart
oFileInfo.FileStart =iInfoEnd
oFileInfo.FileS = iFormStart -iInfoEnd -3
oFileInfo.FormName=sFormName
oFileInf file.add sFormName.o
else
' 如果是表单项目
tStream.Close
tStream.Typ =1
tStream.Mod =3
tStream.Open
oUpFileStream.Posit = iInfoEnd
iFormStart-iInfoEnd- oUpFileStream.CopyTo tStream.3
tStream.Posit = 0
tStream.Typ = 2
tStream.Charset ="gb2312"
sFormvalu = tStream.ReadText
sFormvalu form.Add sFormName.e
end if
tStream.Close
iFormStart=iFormStart+iStart+1
wend
RequestBinDate=""
set tStream =nothing
End Sub
Priv Sub Class_Terminate
if not Request.TotalBytes<1 then
form.RemoveAll
file.RemoveAll
set form=nothing
set file=nothing
oUpFileStream.Close
set oUpFileStream =nothing
end if
End Sub
Privat function GetFilePath FullPath
If FullPath <> "" Then
InStrRev FullPath, GetFilePath = left FullPath. ""
Else
GetFilePath = ""
End If
End function
Priv function GetFileNam FullPath
If FullPath <> "" Then
InStrRev FullPath, GetFileNam = mid FullPath. "" +1
Else
GetFileNam = ""
End If
End function
End Class
Class FileInfo
FileName, dim FormName.FilePath,FileSize,FileType,FileStart
Privat Sub Class_Initi
FileNam = ""
FilePath = ""
FileS = 0
FileStart= 0
FormNam = ""
FileTyp = ""
End Sub
Public function SaveA FullPath
ErrorChar, dim oFileStream.i
SaveAs=1
1 ="/" then exit functio if trim fullpath ="" or right fullpath.n
set oFileStream=CreateObject "Adodb.Stream"
oFileStream.Type=1
oFileStream.Mode=3
oFileStream.Open
oUpFileStream.position=FileStart
FileSiz oUpFileStream.copyto oFileStream.e
oFileStream.SaveToFil FullPath.2
oFileStream.Close
set oFileStream=noth
SaveAs=0
end function
End Class
</SCRIPT>
************************
和附件里的内容有所不同,此文所诉的内容是上传文件的最简化程式。附件的源代码加入了一些检测函数和获取普通表单的方法 upload.form 不过核心完全一样,请朋友们自己分析一下,学会本演练, asp 一般的上传功能就基本掌握了
相关文章推荐
- ASP.NET中FileUpload文件上传控件应用实例
- ASP.NET中FileUpload文件上传控件应用实例
- asp.net简单实例——同时上传多个文件
- asp.net,C#,FileUpload控件文件上传简单实例,vs2010
- asp.net,C#,html控件的File控件文件上传简单实例,vs2010
- asp.net文件上传简单实例
- asp.net,C#,html控件的File控件实现多文件上传简单实例,vs2010
- 利用discuz实现PHP大文件上传应用实例代码
- 用fileupload组件实现的大文件上传简单实例
- asp简单文件上传源码
- 如何在ASP.NET 应用中上传大文件
- 解决ASP.NET Core Mvc文件上传限制问题实例
- 《JavaWeb---简单应用---练习JDBC,JSTL》---上传Excel文件,利用工具包解析,将数据储存到数据库中,可以查询删除
- asp.net javascript 文件无刷新上传实例代码第1/2页
- asp简单文件上传代码(上传任何文件)
- asp.net中MVC借助Iframe实现无刷新上传文件实例
- php jquery 多文件上传简单实例
- 文件上传[多文件上传与简单操作文件上传实例(文件上传,自动重命名,自动添加文件夹)]
- 用ASP.net(c#)上传各种文件的实例
- 关于富文本编辑器ueditor(jsp版)上传文件到阿里云OSS的简单实例,适合新手