您的位置 首页 网站建设

天辰娱乐网站

  天辰娱乐网站实力派【QV75775】SEO技术大师【Q7913796】style=”text-align: center;”>   本ASP程序可同时上传一个或多个文件,若其中任何…

  天辰娱乐网站实力派【QV75775】SEO技术大师【Q7913796】style=”text-align: center;”>

  本ASP程序可同时上传一个或多个文件,若其中任何一个文件上传失败则删除此次已上传的其它文件,用以保证没有多余的无用文件,没有进度条显示。

  若要将文件名保存到数据库中,则只需直接将数组 fileurl 保存到表字段中即可。

  本程序采用稻香老农无组件上传类,自己已修正它的元素集合错误,且已修改为UTF-8版。链接地址:http://www.lingchenliang.com/post/7.html

  若测试此程序,请将无组件上传类、网站目录本程序代码复制保存到本地的文件中,且文件编码为UTF-8,在IIS环境下运行调试。

  以下是本人测试代码,且已成功。无组件上传类存为:uploadfile.asp,上传界面和处理程序用一个文件 upfile.asp 。

  以下是upfile.asp 的代码:

  

<%@LANGUAGE="VBSCRIPT"CODEPAGE="65001"%>

  <%

  optionexplicit'强制声明所有变量

  session.codepage=65001

  response.charset="utf-8"

  server.ScriptTimeout=180'设置IIS脚本运行时间(秒)

  %>

  <!DOCTYPEHTML>

  <html>

  <head>

  <metahttp-equiv="Content-Type"content="text/html;charset=utf-8">

  <title>ASP多文件上传代码</title>

  </head>

  <body>

  <!--#includefile="uploadfile.asp"-->

  <%

  '======================================

  '作者:凌陈亮www.lingchenliang.com(QQ:57404811)

  '文件上传设置

  constupfile_path="/uploadfiles/"'上传后文件所在的路径

  callfile_folde_add(upfile_path)'创建文件夹(无此文件夹则创建)

  constupfile_type="jpgjpeggifbmppng"'上传文件的类型,空为无限制,多个用""符号隔开

  dimupfile_type_arr

  iflen(upfile_type)>0thenupfile_type_arr=split(upfile_type,"",-1,1)'拆分为数组

  constupfile_size=100'上传文件的大小(单位KB,值为数字)

  constupfile_count=1'定义文件上传个数(从0开始,即0为1个文件)

  redimfileurl(upfile_count)'定义文件上传全名(含.扩展名)动态数组

  redimfileurl_rs(upfile_count)'定义数据库中文件全名(含.扩展名)动态数组

  '======================================

  dimact:act=lcase(trim(request.querystring("act")))

  selectcaseact

   case"add_post":calladd_post()'上传文件后台处理程序

   caseelse:calladd()'上传文件界面代码

  endselect

  %>

  <%subadd()'上传文件界面代码%>

  <formname="form1"id="form1"action="?act=add_post"method="post"enctype="multipart/form-data">

  标题:<inputtype="text"name="title"id="title"/><br/>

  <%

  dimi

  fori=0toupfile_count

  %>

  上传图片<%=i+1%>:<inputtype="file"name="file<%=i%>"id="file<%=i%>"/>

  [类型]<%iflen(upfile_type)>0thenresponse.write(upfile_type)elseresponse.write("无限制")%>

  [大小]<%iflen(upfile_size)>0thenresponse.write(upfile_size&"KB以内")elseresponse.write("无限制")%>

  <br/>

  <%next%>

  <inputtype="submit"value="确定"/>

  </form>

  <%endsub%>

  <%

  '上传文件后台处理程序

  subadd_post()

   dimupload,up_file,up_formname,on_upfile_ext,on_upfile_size,i,j,m

   setupload=newupload_file'upload就是一个对象

   dimtitle:title=trim(upload.form("title"))

   response.write("<p>标题为:"&title&"</p>")

   iflen(upfile_path)>0then

   m=0'初始化表单文件元素个数

   foreachup_formnameinupload.file'循环表单所有文件域

   setup_file=upload.file(up_formname)

   on_upfile_ext=lcase(up_file.fileext)'获取文件扩展名不含有.,且转为小写

   on_upfile_size=up_file.filesize'获取文件大小,字节数

   ifon_upfile_size<>0then'文件不为空

   '判断文件上传类型

   iflen(upfile_type)>0then

   j=0'false

   fori=0toubound(upfile_type_arr)

   ifon_upfile_ext=lcase(trim(upfile_type_arr(i)))then

   j=1'true

   exitfor

   endif

   next

   ifj=0then

   fori=0tom-1

   iflen(fileurl(i))>0thencallfile_del(upfile_path&fileurl(i))'删除已上传图片

   next

   callalert("对不起!提交表单中第"&m+1&"个文件上传的类型只能为:"&upfile_type&"!","javascript:window.history.back();")

   endif

   endif

   '判断文件上传大小

   iflen(upfile_size)>0then

   ifupfile_size>0andon_upfile_size>upfile_size*1024then

   fori=0tom-1

   iflen(fileurl(i))>0thencallfile_del(upfile_path&fileurl(i))'删除已上传图片

   next

   callalert("对不起!提交表单中第"&m+1&"个文件上传的大小只能在:"&upfile_size&"KB以内!","javascript:window.history.back();")

   endif

   endif

   fileurl(m)=year(now())&right("0"&month(now()),2)&right("0"&day(now()),2)&right("0"&hour(now()),2)&right("0"&minute(now()),2)&right("0"&second(now()),2)&int(left(9999*rnd()+1000,4))&"_"&m&"."&on_upfile_ext'文件全名(含.扩展名)

   up_file.SaveToFileserver.mappath(upfile_path&fileurl(m))'上传文件

   endif

   setup_file=nothing

   m=m+1'表单文件元素个数+1

   next

   fori=0tom-1'循环表单文件元素个数

   iflen(fileurl(i))>0thenresponse.write("<p>文件"&i+1&"上传成功!路径为:<ahref='"&upfile_path&fileurl(i)&"'target='_blank'>"&upfile_path&fileurl(i)&"</a></p>")

   next

   endif

   response.write("<ahref='?'>返回到上传界面</a>")

   response.End()

   '若要将文件名保存到数据库中,则只需直接将数组fileurl保存到表字段中即可。例如:

   'fori=0tom-1'循环表单文件元素个数

   ' rs("fileurl"&i)=fileurl(i)'此方式是一个字段对应一个文件名,也可自己改成一个字段存放所有文件名

   'next

  endsub

  '======================================

  '显示出错信息并转换页面

  '参数:错误信息,跳转页面地址

  '======================================

  subalert(msg,url)

   response.write("<scripttype=""text/javascript"">")&vbcrlf

   response.write("<!--//")&vbcrlf

   response.write("window.alert("""&msg&""");")&vbcrlf

   response.write("window.location.href="""&url&""";")&vbcrlf

   response.write("//-->")&vbcrlf

   response.write("</script>")&vbcrlf

   response.end()

  endsub

  '======================================

  '创建文件夹(无此文件夹则创建)

  '参数:路径

  '======================================

  subfile_folde_add(folderurl)

   dimf_folderurl:f_folderurl=folderurl

   iflen(f_folderurl)>0then

   f_folderurl=server.mappath(""&f_folderurl&"")

   dimobjfilesys,myexists

   setobjfilesys=server.createobject("scripting.filesystemobject")

   myexists=objfilesys.folderexists(""&f_folderurl&"")

   ifmyexists=falsethenobjfilesys.createfolder(f_folderurl)

   setobjfilesys=nothing

   endif

  endsub

  '======================================

  '删除文件

  '参数:文件名及路径

  '======================================

  subfile_del(fileurl)

   dimf_fileurl:f_fileurl=fileurl

   iflen(f_fileurl)>0then

   f_fileurl=server.mappath(""&f_fileurl&"")

   dimobjfilesys,myexists

   setobjfilesys=server.createobject("scripting.filesystemobject")

   myexists=objfilesys.fileexists(""&f_fileurl&"")

   ifmyexists=truethen

   dimdeletefile

   setdeletefile=objfilesys.getfile(""&f_fileurl&"")

   deletefile.deletetrue

   setdeletefile=nothing

   endif

   setobjfilesys=nothing

   endif

  endsub

  %>

  </body>

  </html>

本文来自网络,不代表「帆帆建站」立场,转载请注明出处:https://www.joyxi.com/28484.html
联系我们

联系我们

17605342134

在线咨询: QQ交谈

邮箱: 7913796@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部