• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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(filepathfname)  ''保存文件
     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.TotalBytes1 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.TotalBytes1 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.net“服务器应用程序不可用” 解决方法
    • js获取.aspx页面里面的服务器控件和.ascx中的服务器控件值
    • aspx 服务器架设问题解决
    • Asp.net的服务器推技术 (Server Push)
    • Javascript 直接调用服务器C#代码 ASP.NET Ajax实例
    • jquery获取ASP.NET服务器端控件dropdownlist和radiobuttonlist生成客户端HTML标签后的value和text值
    • asp中判断服务器是否安装了某种组件的函数
    • IIS服务器中 ASP.NET State Service 开启后 Session 仍容易丢失的问题终极解决办法
    • asp在服务器把 XML 转换为 XHTML的实现代码
    • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
    • iis8.5显示ASP的详细错误信息500 内部服务器错误解决方法
    • 服务器安全狗导致ASP.NET网站运行出错的一个案例
    • 推荐4款傻瓜型的ASP服务器软件(asp运行环境一键搭建工具)
    • asp服务器如何搭建
    上一篇:ASP.NET设计FTP文件上传的解决方案
    下一篇:asp.net上传文件到数据库的解决方案
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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