189 8069 5689

asp如何将本地的文件上传到服务器-创新互联

本篇内容主要讲解“asp如何将本地的文件上传到服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“asp如何将本地的文件上传到服务器”吧!

成都创新互联-专业网站定制、快速模板网站建设、高性价比忻州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式忻州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖忻州地区。费用合理售后完善,十余年实体公司更值得信赖。

今天我们讲解如何利用asp的上传功能将本地的文件上传到服务器上。
最简系统包括下面三个文件:

upload.htm                         --上传口文件,选择本地文件
uploadimg.asp                  --上传程序控制文件
upload_5xsoft.inc            --无组件上传类,此文件初学者不用学习,只要会用就可以了


upload.htm内容————上传口文件,选择本地文件










  
 
   
  
 
 


uploadimg.asp内容————上传程序控制文件



<%
dim upload,file,filepath
filepath="UPLOAD/"
set upload=new upload_5xSoft ''建立上传对象
for each formName in upload.file ''列出所有上传了的文件
 set file=upload.file(formName) ''生成一个文件对象
 if file.FileSize>0 then     ''如果 FileSize > 0 说明有文件数据
 fname = file.filename
 file.SaveAs Server.mappath(filepath&fname)  ''保存文件
 end if
set file=nothing
next
set upload=nothing ''删除此对象

upload_5xsoft.inc内容————此文件内容不属于本演练程序内容,本演练应用此类的方法



dim oUpFileStream

Class upload_5xSoft
 
dim Form,File,Version
 
Private Sub Class_Initialize 
dim RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
dim iFileSize,sFilePath,sFileType,sFormvalue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,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.Type = 1
oUpFileStream.Mode =3
oUpFileStream.Open
oUpFileStream.Write Request.BinaryRead(Request.TotalBytes)
Response.Write "页面执行时间:"&FormatNumber((Timer() -time1)*1000,3)&"毫秒
" oUpFileStream.Position=0 RequestBinDate =oUpFileStream.Read  iFormStart = 1 iFormEnd = LenB(RequestBinDate) bCrLf = chrB(13) & chrB(10) sStart = MidB(RequestBinDate,1, InStrB(iFormStart,RequestBinDate,bCrLf)-1) iStart = LenB (sStart) iFormStart=iFormStart+iStart+1 while (iFormStart + 10) < iFormEnd   iInfoEnd = InStrB(iFormStart,RequestBinDate,bCrLf & bCrLf)+3  tStream.Type = 1  tStream.Mode =3  tStream.Open  oUpFileStream.Position = iFormStart  oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart  tStream.Position = 0  tStream.Type = 2  tStream.Charset ="gb2312"  sInfo = tStream.ReadText     '取得表单项目名称  iFormStart = InStrB(iInfoEnd,RequestBinDate,sStart)  iFindStart = InStr(22,sInfo,"name=""",1)+6  iFindEnd = InStr(iFindStart,sInfo,"""",1)  sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)  '如果是文件  if InStr (45,sInfo,"filename=""",1) > 0 then  set oFileInfo=new FileInfo  '取得文件名  iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10  iFindEnd = InStr(iFindStart,sInfo,"""",1)  sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)  oFileInfo.FileName=getFileName(sFileName)  oFileInfo.FilePath=getFilePath(sFileName)  '取得文件类型  iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14  iFindEnd = InStr(iFindStart,sInfo,vbCr)  oFileInfo.FileType =Mid (sinfo,iFindStart,iFindEnd-iFindStart)  oFileInfo.FileStart =iInfoEnd  oFileInfo.FileSize = iFormStart -iInfoEnd -3  oFileInfo.FormName=sFormName  file.add sFormName,oFileInfo  else  '如果是表单项目  tStream.Close  tStream.Type =1  tStream.Mode =3  tStream.Open  oUpFileStream.Position = iInfoEnd   oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-3  tStream.Position = 0  tStream.Type = 2  tStream.Charset ="gb2312"  sFormvalue = tStream.ReadText   form.Add sFormName,sFormvalue  end if  tStream.Close  iFormStart=iFormStart+iStart+1  wend RequestBinDate="" set tStream =nothing End Sub Private 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       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 End Class Class FileInfo  dim FormName,FileName,FilePath,FileSize,FileType,FileStart  Private Sub Class_Initialize    FileName = ""   FilePath = ""   FileSize = 0   FileStart= 0   FormName = ""   FileType = ""  End Sub    Public function SaveAs(FullPath)   dim oFileStream,ErrorChar,i   SaveAs=1   if trim(fullpath)="" or right(fullpath,1)="/" then exit function   set oFileStream=CreateObject("Adodb.Stream")   oFileStream.Type=1   oFileStream.Mode=3   oFileStream.Open   oUpFileStream.position=FileStart   oUpFileStream.copyto oFileStream,FileSize   oFileStream.SaveToFile FullPath,2   oFileStream.Close   set oFileStream=nothing    SaveAs=0  end function End Class

此文所诉的内容是上传文件的最简化程式,请朋友们自己分析一下,学会本演练,asp一般的上传功能就基本掌握了


到此,相信大家对“asp如何将本地的文件上传到服务器”有了更深的了解,不妨来实际操作一番吧!这里是创新互联建站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文标题:asp如何将本地的文件上传到服务器-创新互联
文章来源:http://jkwzsj.com/article/pisjd.html

其他资讯