主页 > 知识库 > asp将本地的文件上传到服务器

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

热门标签:西宁电销外呼系统公司 聊城智能电销机器人电话 上海市三维地图标注 云南外呼系统代理 办公用地图标注网点怎么操作 南昌自动外呼系统线路 海东防封电销卡 宁德防封版电销卡 安陆市地图标注app

今天我们讲解如何利用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将本地的文件上传到服务器》,本文关键词  asp,将,本地,的,文件,上,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《asp将本地的文件上传到服务器》相关的同类信息!
  • 本页收集关于asp将本地的文件上传到服务器的相关信息资讯供网民参考!
  • 推荐文章