温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

asp如何将本地的文件上传到服务器

发布时间:2021-07-01 10:19:09 来源:亿速云 阅读:331 作者:chen 栏目:开发技术

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

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

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

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

<html> <head> </head> <body> <table 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内容————上传程序控制文件

<!--#include FILE="upload_5xsoft.inc"--> <% 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内容————此文件内容不属于本演练程序内容,本演练应用此类的方法

<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> 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 "<font size=""2"">页面执行时间:"&FormatNumber((Timer() -time1)*1000,3)&"毫秒</font><br>" 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 </SCRIPT>

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

asp
AI