目前有很多無組件上傳類,我大概看了一下,大多寫的相當複雜,有的居然還只能傳文本,最關鍵的是沒有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>