|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
这是我从我以前写过的程序中分离出来的,由于这段代码是针对整体成体程序写的,因此功能异常简朴,而且对于上传的数据也没有严格的限制,所以难免会出现这样或那样的错误。 我贴着篇文章主要是让大家了解一下无组件上传的思路,而不是让大家使用的。 <% \\\'Yanhang.00上传程序V1.0 \\\'1.0版本的程序是从以前的程序修改过来的,但是可能还是仍有不足,假如你发现任何错误,请写信通知我,谢谢! \\\'请在使用前先修改下面的信息 \\\'目前本程序我认为最大的不足就是只能用系统时间定义文件名,不能使用源文件名,这一点我会在以后的版本中改进。 \\\'Enjoy yourself! \\\'程序制作:yanhang \\\'email:yanhang@msn.com \\\'技术支持:http://yanhang00.yeah.net \\\'本程序要运行在ado 2.5以上版本环境下 \\\'#####################请修改以下信息##################################### dim siteurl,picsavefolder,limitbyte,lsfilename siteurl = "http://www.yours.com" \\\'网站地址(末尾不要有"/"符号) picsavefolder = "uploadfile/" \\\'图片保存文件夹(以"/"符号结尾) limitbyte = 300 \\\'文件大小限制,单位:k \\\'###################################################################### \\\'#####################以下信息请不要修改################################# if request.totalbytes < 192 then %> <html> <head> <title>文件上传</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <BODY> <FORM name="form2" METHOD=POST ACTION="upload.asp" enctype="multipart/form-data"> 请选择文件: <INPUT TYPE="file" NAME="file"> <INPUT TYPE="submit" value="上传"> 大小限制:<%=limitbyte%>k </FORM> </BODY> </html> <% else dim contentlen \\\'接收表单信息 contentlen=request.totalbytes \\\'检测文件大小 if contentlen>limitbyte*1024 then response.write "文件超过"&limitbyte&"k,不答应上传!" else dim content \\\'读取上传文件信息 content=request.binaryread(request.totalbytes) \\\'二进制相互转变函数 Function getByteString(StringStr) For i=1 to Len(StringStr) char=Mid(StringStr,i,1) getByteString=getByteString&chrB(AscB(char)) Next End Function Function getString(StringBin) getString ="" For intCount = 1 to LenB(StringBin) getString = getString & chr(AscB(MidB(StringBin,intCount,1))) Next End Function \\\'处理数据 dim upbeg,upend,lineone,linetwo,linethree,line1,line2,line3 upbeg=1 upend=instrb(upbeg,content,getbytestring(chr(10))) lineone=midb(content,upbeg,upend-upbeg) upbeg=upend+1 line1=lenb(lineone) upend=instrb(upbeg,content,getbytestring(chr(10))) linetwo=midb(content,upbeg,upend-upbeg) upbeg=upend+1 line2=lenb(linetwo) upend=instrb(upbeg,content,getbytestring(chr(13))) linethree=midb(content,upbeg,upend-upbeg) line3=lenb(linethree) \\\'获得文件名 dim pp,checknametemp,checklen,checkname,filename pp=instrb(1,linetwo,getbytestring(chr(46))) checknametemp=rightb(linetwo,line2-pp+1) checklen=instrb(1,checknametemp,getbytestring(chr(34))) checkname=getstring(leftb(checknametemp,checklen-1)) \\\'检测文件后缀 if checkname<>"Content-Disposition: form-data; name=" then if checkname=".txt" or checkname=".doc" or checkname=".gif" or checkname=".jpg" or checkname=".jpeg" or checkname=".zip" or checkname=".rar" or checkname=".bmp" or checkname=".png" or checkname=".tiff" then \\\'定义文件名 filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&checkname \\\'上传文件 dim alllen,upstream,upstreamend,file alllen=line1+line2+line3+6 set upstream=server.createobject("adodb.stream") set upstreamend=server.createobject("adodb.stream") upstream.type=1 upstreamend.type=1 upstream.open upstreamend.open upstream.write content upstream.position=alllen file=upstream.read(clng(contentlen-alllen-line1-5)) upstreamend.write file upstreamend.savetofile(server.mappath(picsavefolder&filename)) upstream.close upstreamend.close set upstream=nothing set upstreamend=nothing response.write "文件上传成功!<br>文件名:"&siteurl&"/"&picsavefolder&filename else response.write "不答应上传"&checkname&"格式文件" end if else response.write "您没有填写文件名" end if end if end if %> 返回类别: 教程 上一教程: 数据库远程控制的ASP实现 下一教程: 在ASP中用组件检测当前网卡地址 您可以阅读与"无组件上传实例"相关的教程: · ASP实例:6行代码实现无组件上传 · 无组件文件上传代码实例 · ASP无组件文件上传的实例 · 一个的无组件上传的ASP代码 · 无组件上传图片之文件采用方案 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |