目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本,最关键的是没有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>
新闻热点
疑难解答