调用实例:

UploadDemo.html<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><title>Upload Demo</title><metaname="keywords"content="淄博本地信息网"><metaname="author"content="淄博本地信息网"></head>
<body><tablewidth="100%"cellpadding="0"cellspacing="0"border="0"><tr><tdclass=tdTitle>类别图片:</td><td><tablewidth="100%"cellpadding="0"cellspacing="0"border="0"><tr><tdwidth="210"><inputname="image"type="text"id="image"value="<%=image %>"style="width:200px"></td><td><iframesrc="upload.asp?editname=image&uppath=catImg&filelx=jpg"frameborder=0scrolling=nowidth="400"height="25"></iframe></td></tr></table></td></tr></table></body></html>

调用Upload.asp为显示浏览上传表单页面,代码如下:

Upload.asp<%Dimuppath,filelx,formName,EditName
uppath
="../"&request("uppath")&"/"'文件上传路径filelx=request("filelx")'文件上传类型formName=request("formName")'回传到上页面编辑框所在Form的NameEditName=request("EditName")'回传到上页面编辑框的NamesizeName=request("sizename")'回传到上页面编辑框的Name
%><html><head><title>图片上传</title><metahttp-equiv="Content-Type"content="text/html; charset=gb2312"><styletype="text/css"><!--
body,form,td
{}{margin:1px 0;padding:0;}input{}{height:21px;}-->
</style></head><bodybgcolor="#FFFFFF"text="#000000"><formname="form1"method="post"action="uploadSave.asp"enctype="multipart/form-data"><inputtype="hidden"name="filepath"value="<%=uppath%>"><inputtype="hidden"name="filelx"value="<%=filelx%>"><inputtype="hidden"name="EditName"value="<%=EditName%>"><inputtype="hidden"name="sizeName"value="<%=sizeName%>"><inputtype="hidden"name="FormName"value="<%=formName%>"><inputtype="hidden"name="act"value="uploadfile"><tablewidth="100%"cellspacing="0"cellpadding="3"align="center"height="22"><tralign="center"valign="middle"><tdalign="left"><inputtype="file"name="file1"style="width:350px"value=""><inputtype="submit"value="上传"></td></tr></table></form></body></html>

保存上传文件的uploadSave.asp

uploadSave<!--#include file="upload_wj.asp"--><meta http-equiv="Content-Type"content="text/html; charSet=gb2312"><style type="text/css"><!--*{font-size:12px;}
--></style><%
DisableOutSite
'禁从站外进入uploadSave



SubDisableOutSite()
Dimserver_v1,server_v2
  server_v1
=Cstr(Request.ServerVariables("HTTP_REFERER"))
  server_v2
=Cstr(Request.ServerVariables("SERVER_NAME"))
Ifmid(server_v1,8,len(server_v2))<>server_v2Thenresponse.Redirect("/")
Ifinstr(request.servervariables("http_referer"),"http://"&request.servervariables("host") )<1Thenresponse.Redirect("/")
End Sub



SubuploadSave
Dimupload,filepath,filelx,rename,formName
DimfileExt,ranNum,filename,todb_filename,i,upfile
Setupload=Newupload_file
Ifupload.form("act")<>"uploadfile"ThenSetupload=NothingExitSubEndIf
  filepath
=trim(upload.form("filepath"))
  filelx
=trim(upload.form("filelx"))
  sizeName
=trim(upload.form("sizeName"))
  rename
=trim(upload.form("rename"))
  fileNameElement
=trim(upload.form("editName"))

  i
=0ForEachformName In upload.File
Setupfile=upload.File(formName)
    fileExt
=lcase(upfile.FileExt)'得到的文件扩展名不含有.Ifupfile.fileSize<100Then      response.write"<span>请先选择你要上传的文件! [ <a href=""javascript:history.go(-1);"">重新上传</a> ]</span>"ExitSubEndIf'--------检查文件扩展名If(filelx<>"swf")and(filelx<>"jpg")and(filelx<>"doc")Then      response.write"<span>该文件类型不能上传! [ <a href=""javascript:history.go(-1);"">重新上传</a> ]</span>"      response.end
EndIfIffilelx="swf"ThenIffileext<>"swf"and(fileext<>"rm")and(fileext<>"ram")and(fileext<>"wmv")and(fileext<>"asf")Then        response.write"<span>只能上传swf/rm/ram/wmv/asf文件! [ <a href=""javascript:history.go(-1);"">重新上传</a> ]</span>"        response.end
EndIfEndIfIffilelx="doc"ThenIffileext<>"doc"andfileext<>"pdf"andfileext<>"zip"andfileext<>"rar"Then       response.write"<span>只能上传doc,pdf,zip,rar格式文件! [ <a href=""javascript:history.go(-1);"">重新上传</a> ]</span>"       response.end
EndIfEndIfIffilelx="jpg"ThenIffileext<>"gif"andfileext<>"jpg"andfileext<>"png"AndfileExt<>"bmp"Then        response.write"<span>上传图片类型错误! [ <a href=""javascript:history.go(-1);"">重新上传</a> ]</span>"        response.end
EndIfEndIf'--------检查文件扩展名'--------检查大小是否超过限制DimmaxSize
SelectCasefilelx
Case"jpg","swf": maxSize=3000*1024CaseElse: maxSize=2000*1024EndSelectIfupfile.filesize>maxSizeThen      response.write"<span>文件大小超过限制 [ <a href=""javascript:history.go(-1);"">重新上传</a> ]</span>"      response.end
EndIf'//--------检查大小是否超过限制'--------处理重新命名上传文件的情况Ifrename=""Thenrandomize      ranNum=int(90000*rnd)+10000      filename=filepath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt'程序写入的完整的路径及文件名todb_filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt'写入数据库的文件名Else      filename=filepath&rename'程序写入的完整的路径及文件名todb_filename=rename'写入数据库的文件名EndIf'//--------处理重新命名上传文件的情况Ifupfile.FileSize>0Then''如果 FileSize > 0 说明有文件数据upfile.SaveToFile Server.mappath(FileName)
CallChkHackWord(FileName)

'response.write upfile.FileName&"  上传成功!  <br>"'response.write "新文件名:"&FileName&"<br>"'response.write "新文件名已复制到所需的位置,可关闭窗口!"oFrm=upload.form("FormName")
Iffilelx="swf"Then        response.write"<script>parent.document."&oFrm&".size.value='"&int(upfile.FileSize/1024)&"K'</script>"EndIfIfsizeName<>""Then        response.write"<script>parent.document."&oFrm&"."&sizeName&".value='"&int(upfile.FileSize/1024)&"KB'</script>"EndIf      response.write"<script>parent.document."&oFrm&"."&fileNameElement&".value='"&todb_FileName&"'</script>"EndIfSetupfile=nothingNextSetupload=nothing  %><script language="javascript">window.alert("文件上传成功!请不要修改生成的链接地址!");</script><%
End Sub%>

uploadSave.asp中使用无惧无组件上传类 :

upload_wj.asp<%
'----------------------------------------------------------------------'转发时请保留此声明信息,这段声明不并会影响你的速度!'*******************    无组件上传类   ********************************'修改者:梁无惧'电子邮件:yjlrb@21cn.com'网站:http://www.25cn.com'原作者:稻香老农'原作者网站:http://www.5xsoft.com'声明:此上传类是在化境编程界发布的无组件上传类的基础上修改的.'在与化境编程界无组件上传类相比,速度快了将近50倍,当上传4M大小的文件时'服务器只需要10秒就可以处理完,是目前最快的无组件上传程序,当前版本为0.96'源代码公开,免费使用,对于商业用途,请与作者联系'文件属性:例如上传文件为c:\myfile\doc.txt'FileName    文件名       字符串    "doc.txt"'FileSize    文件大小     数值       1210'FileType    文件类型     字符串    "text/plain"'FileExt     文件扩展名   字符串    "txt"'FilePath    文件原路径   字符串    "c:\myfile"'使用时注意事项:'由于Scripting.Dictionary区分大小写,所以在网页及ASP页的项目名都要相同的大小'写,如果人习惯用大写或小写,为了防止出错的话,可以把'sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)'改为'(小写者)sFormName = LCase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))'(大写者)sFormName = UCase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))'**********************************************************************'----------------------------------------------------------------------dimoUpFileStream

Class upload_file
  
dimForm,File,Version
  
PrivateSubClass_Initialize 
'定义变量dimRequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
dimiFileSize,sFilePath,sFileType,sFormvalue,sFileName
dimiFindStart,iFindEnd
dimiFormStart,iFormEnd,sFormName
'代码开始Version="无组件上传类 Version 0.96"setForm=Server.CreateObject("Scripting.Dictionary")
setFile=Server.CreateObject("Scripting.Dictionary")
ifRequest.TotalBytes<1thenExitSubsettStream=Server.CreateObject("adodb.stream")
setoUpFileStream=Server.CreateObject("adodb.stream")
  oUpFileStream.Type
=1  oUpFileStream.Mode=3  oUpFileStream.Open 
  oUpFileStream.Write Request.BinaryRead(Request.TotalBytes)
  oUpFileStream.Position
=0  RequestBinDate=oUpFileStream.Read 
  iFormEnd
=oUpFileStream.Size
  bCrLf
=chrB(13)&chrB(10)
'取得每个项目之间的分隔符sStart=MidB(RequestBinDate,1, InStrB(1,RequestBinDate,bCrLf)-1)
  iStart
=LenB (sStart)
  iFormStart
=iStart+2'分解项目Do    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)-1    iFindStart=InStr(22,sInfo,"name=""",1)+6    iFindEnd=InStr(iFindStart,sInfo,"""",1)
    sFormName
=Mid(sinfo,iFindStart,iFindEnd-iFindStart)
'如果是文件ifInStr(45,sInfo,"filename=""",1)>0thensetoFileInfo=newFileInfo
'取得文件属性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)
      oFileInfo.FileExt
=GetFileExt(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-2      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-2      tStream.Position=0      tStream.Type=2      tStream.Charset="gb2312"      sFormvalue=tStream.ReadText 
      form.Add sFormName,sFormvalue
endif    tStream.Close
    iFormStart
=iFormStart+iStart+2'如果到文件尾了就退出loopuntil (iFormStart+2)=iFormEnd 
  RequestBinDate
=""settStream=nothingEnd Sub
PrivateSubClass_Terminate  
'清除变量及对像ifnotRequest.TotalBytes<1then    oUpFileStream.Close
setoUpFileStream=nothingendif  Form.RemoveAll
  File.RemoveAll
setForm=nothingsetFile=nothingEnd Sub   
'取得文件路径PrivatefunctionGetFilePath(FullPath)
IfFullPath<>""Then    GetFilePath=left(FullPath,InStrRev(FullPath,"\"))
Else    GetFilePath=""EndIfEnd function 
'取得文件名PrivatefunctionGetFileName(FullPath)
IfFullPath<>""Then    GetFileName=mid(FullPath,InStrRev(FullPath,"\")+1)
Else    GetFileName=""EndIfEnd function
'取得扩展名PrivatefunctionGetFileExt(FullPath)
IfFullPath<>""Then    GetFileExt=mid(FullPath,InStrRev(FullPath,".")+1)
Else    GetFileExt=""EndIfEnd function
EndClass

'文件属性类Class FileInfo
dimFormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
PrivateSubClass_Initialize 
    FileName
=""    FilePath=""    FileSize=0    FileStart=0    FormName=""    FileType=""    FileExt=""End Sub  
'保存文件方法PublicfunctionSaveToFile(FullPath)
dimoFileStream,ErrorChar,i
    SaveToFile
=1iftrim(fullpath)=""orright(fullpath,1)="/"thenexitfunctionsetoFileStream=CreateObject("Adodb.Stream")
    oFileStream.Type
=1    oFileStream.Mode=3    oFileStream.Open
    oUpFileStream.position
=FileStart
    oUpFileStream.copyto oFileStream,FileSize
    oFileStream.SaveToFile FullPath,
2    oFileStream.Close
setoFileStream=nothing    SaveToFile=0end functionEndClass
%
>

转载于:https://www.cnblogs.com/s1ihome/archive/2008/11/18/1336061.html

[asp常用代码]文件上传代码相关推荐

  1. asp.net实现ftp上传代码(解决大文件上传问题)

    asp.net实现ftp上传代码(解决大文件上传问题) 参考文章: (1)asp.net实现ftp上传代码(解决大文件上传问题) (2)https://www.cnblogs.com/LYunF/ar ...

  2. ASP.NET中常用的文件上传下载方法

    ASP.NET中常用的文件上传下载方法 文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务 ...

  3. .NET技术 ASP.NET中常用的文件上传下载方法(多文件上传)

    文件的上传下载是我们在实际项目开发过程中经常需要用到的技术,这里给出几种常见的方法,本文主要内容包括: 1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以 ...

  4. php批量上传代码,文件批量上传_php文件上传代码(支持文件批量上传)

    摘要 腾兴网为您分享:php文件上传代码(支持文件批量上传),雨课堂版,洋游码头,学堂里,小度等软件知识,以及电脑硬件温度检测软件,日事清app,lol韩服语音包,绝地求生无后座力设置,金山u盘卫士, ...

  5. php验证码大全(实例分享),php文件上传代码大全(实例分...-php验证码大全(实例分享)-php打印倒三角的实例代码_169IT.COM...

    本节主要内容: php中的文件上传代码 在我们平时的php编程中,涉及文件上传的内容很多,无论是简单的留言本程序,还是复杂的新闻系统,甚至是功能完备的cms系统中,都少不了文件上传的功能与代码. 本文 ...

  6. php 上传 文件模板,PHP文件上传代码用法详解

    本文章是一篇适合于php入门者的文章告诉大如何编辑php文件上传代码,在编辑前我们需要了解几点,有及FILES全局变量的理解了,有需要学习php文件上传的朋友可参考本文章. php文件上传代码编写过程 ...

  7. ThinkPHP6 API 单文件+多文件上传代码实现方式

    ThinkPHP6 API 单文件+多文件上传代码实现方式 开发中经常要用到接口上传 单文件或多文件,做个备忘录,有需要的同学直接copy. 提交方式:form-data , 参数名 file[] T ...

  8. [转]ASP.NET中常用的文件上传下载方法

    1.如何解决文件上传大小的限制 2.以文件形式保存到服务器 3.转换成二进制字节流保存到数据库以及下载方法 4.上传Internet上的资源 第一部分:     首先我们来说一下如何解决ASP.NET ...

  9. [转载]ASP.NET Core文件上传与下载(多种上传方式)

    ASP.NET Core文件上传与下载(多种上传方式) 前言 前段时间项目上线,实在太忙,最近终于开始可以研究研究ASP.NET Core了. 打算写个系列,但是还没想好目录,今天先来一篇,后面在整理 ...

最新文章

  1. 字节流数据的写出(输出)和读取(输入)
  2. 微信小程序对接阿里云视频点播,备忘
  3. 利用QSharedMemory 保证单个程序运行
  4. php curl密码控件,检索通过curl传递的用户名,密码参数 - php
  5. 软件测试--用例编写
  6. SmartImageView
  7. 易语言pc微信hook最新版本
  8. 【MATLAB】三维图形绘制 ( plot3 函数 | plot3 绘图示例 | 2D 与 3D 关联 )
  9. Android 计时器Chronometer 使用及源码分析
  10. ClickHouse的核心特性及架构
  11. MPB:遗传发育所刘永鑫等-易扩增子:易用、可重复和跨平台的扩增子分析流程...
  12. 关于举办“2020·中国边缘计算企业20强”榜单评选通知
  13. 《炬丰科技-半导体工艺》通过蚀刻技术为LED衬底开发低成本、高通量的硅
  14. Go语言系列——31-自定义错误、32-panic和recover、33-函数是一等公民(头等函数)、34-反射、35-读取文件、36-写入文件
  15. LDA+U中U值的计算方法
  16. Java 排序 - 冒泡排序
  17. 知识图谱嵌入的Translate模型汇总(TransE,TransH,TransR,TransD)
  18. 望(dream-coastline 3.0)
  19. html查看日历,找出万年历的日历
  20. RK3188/RK3288学习记录!

热门文章

  1. 聚焦云原生,阿里云与 CNCF 共话「云未来,新可能」
  2. vivo AI 计算平台的 ACK 混合云实践
  3. 应用系统瓶颈排查和分析的思考-Arthas 实战
  4. linux运维技巧,Linux运维需要掌握的17个实用技巧
  5. java内存分析_java内存分析总结
  6. linux efi 双系统,EFI+GPT模式下Linux与Windows双系统要诀
  7. php水平线代码,在HTML中水平线标注与代码注释应该如何使用
  8. edittext禁止换行符但能自动换行简书_使用n-gram创建自动完成系统
  9. c语言 proteus 延迟2秒_周周练 | 专升本C语言
  10. sql优化常用的几种方法_MySQL常用30种SQL查询语句优化方法