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