asp文件上传

6行代码实现无组件上传

stimson(原作)

目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本最关键的是没有10行代码以下的   :)我花了一个晚上时间研究了一下ADODB.Stream,并且用了6行代码实现了无组件上传:

strFileName   =   Request.QueryString( "file1 ")
Set   objStream   =   Server.CreateObject( "ADODB.Stream ")
objStream.Type   =   1   '   adTypeBinary
objStream.Open
objStream.LoadFromFile   strFileName
objStream.SaveToFile   Server. "123_onweb.gif ",2


使用方法:
把上面的代码写成upload.asp
在浏览器里面输入:
http://XXX/upload.asp?file1=c:上传文件123.gif
XXX为你的主机地址
执行完后你会看到你的目录下面多了一个123_onweb.gif
他就是你要文件拉!!!!


根据原理我们可以扩展以下代码:
upload.asp文件
<%
Function   GetFileName(ByVal   strFile)
    If   strFile   <>   " "   Then
      GetFileName   =   mid(strFile,InStrRev(strFile,   " ")+1)
    Else
      GetFileName   =   " "
    End   If
End     function

strFileName   =   Request.Form( "file1 ")
Set   objStream   =   Server.CreateObject( "ADODB.Stream ")
objStream.Type   =   1   '   adTypeBinary
objStream.Open
objStream.LoadFromFile   strFileName
objStream.SaveToFile   Server.MapPath(GetFileName(strFileName)),2
objStream.Close
%>

upload.htm文件
<form   name= "FORM "   action= "upload.asp "   method= "post ">
   <input   type= "submit "   name= "submit "   value= "OK ">
          <input   type= "file "   name= "file1 "   style= "width:400 "     value= " ">
</form>

 

 

'==============================
 '根据日期生成随机文件名
'==============================
 Private Function Getname()
    Dim y, m, d, h, mm, S, r
    Randomize
    y = Year(Now)
    m = Month(Now): If m < 10 Then m = "0" & m
    d = Day(Now): If d < 10 Then d = "0" & d
    h = Hour(Now): If h < 10 Then h = "0" & h
    mm = Minute(Now): If mm < 10 Then mm = "0" & mm
    S = Second(Now): If S < 10 Then S = "0" & S
    r = 0
    r = CInt(Rnd() * 1000)
    If r < 10 Then r = "00" & r
    If r < 100 And r >= 10 Then r = "0" & r
    Getname = y & m & d & h & mm & S & r
 End Function

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值