目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本,最关键的是没有10行代码以下的:),我花了一个晚上时间研究了一下ADODB.Stream,并且用了6行代码实现了无组件上传:
upload.asp 文件代码
<%
strFileName = Request.QueryString(fn)
Set objStream = Server.CreateObject(ADODB.Stream)
objStream.Type = 1 'adTypeBinary 二进制方式
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server.MapPath(zslogo.gif),2
%>
使用方法
在浏览器里面输入:
http://xxx/upload.asp?fn=c:/上传文件/123.gif
其中xxx为你的网站域名地址,比如:www.jzxue.com
执行完后你会看到你的目录下面多了一个zslogo.gif,就是你刚才上传的文件拉!
根据ASP无组件上传原理,我们把上面的代码扩展为以下代码:
upload.asp 文件代码
<%
Function GetFileName(ByVal fn)
If fn<> Then GetFileName=mid(fn,InStrRev(fn,/)+1) Else GetFileName=
Endfunction
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=upform action=upload.asp method=post enctype=multipart/form-data>
<input type=file name=file1 style=width:400px; value= />
<input type=submit name=submit value=上传文件 />
</form>