目前有很多无组件上传类,我大概看了一下,大多写的相当复杂,有的居然还只能传文本,最关键的是没有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>
(责任编辑:admin) |