無組件上傳執行個體

來源:互聯網
上載者:User
上傳|無組件

這是我從我以前寫過的程式中分離出來的,由於這段代碼是針對整體成體程式寫的,因此功能非常簡單,而且對於上傳的資料也沒有嚴格的限制,所以難免會出現這樣或那樣的錯誤。

我貼著篇文章主要是讓大家瞭解一下無組件上傳的思路,而不是讓大家使用的。

<%

'Yanhang.00上傳程式V1.0
'1.0版本的程式是從以前的程式修改過來的,但是可能還是仍有不足,如果你發現任何錯誤,請寫信通知我,謝謝!
'請在使用前先修改下面的資訊
'目前本程式我認為最大的不足就是只能用系統時間定義檔案名稱,不能使用源檔案名稱,這一點我會在以後的版本中改進。
'Enjoy yourself!


'程式製作:yanhang
'email:yanhang@msn.com
'支援人員:http://yanhang00.yeah.net
'本程式要運行在ado 2.5以上版本環境下


'#####################請修改以下資訊#####################################
 dim siteurl,picsavefolder,limitbyte,lsfilename
 siteurl = "http://www.yours.com"  '網站地址(末尾不要有"/"符號)
 picsavefolder = "uploadfile/"   '圖片儲存檔案夾(以"/"符號結尾)
 limitbyte = 300       '檔案大小限制,單位:k
'######################################################################


'#####################以下資訊請不要修改#################################

if request.totalbytes < 192 then
%>
<html>
<head>
<title>檔案上傳</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<BODY>
  <FORM name="form2" METHOD=POST ACTION="upload.asp" enctype="multipart/form-data">
    請選擇檔案:
 <INPUT TYPE="file" NAME="file">
 <INPUT TYPE="submit" value="上傳">     大小限制:<%=limitbyte%>k
  </FORM>
</BODY>
</html>
<%
else
 dim contentlen
 '接收表單資訊
 contentlen=request.totalbytes

 '檢測檔案大小
 if contentlen>limitbyte*1024 then
  response.write "檔案超過"&limitbyte&"k,不允許上傳!"
 else

 dim content
 '讀取上傳檔案資訊
 content=request.binaryread(request.totalbytes)

 '二進位相互轉換函式
 Function getByteString(StringStr)
  For i=1 to Len(StringStr)
    char=Mid(StringStr,i,1)
   getByteString=getByteString&chrB(AscB(char))
  Next
 End Function
 Function getString(StringBin)
        getString =""
        For intCount = 1 to LenB(StringBin)
         getString = getString & chr(AscB(MidB(StringBin,intCount,1)))
        Next
    End Function

 '處理資料
 dim upbeg,upend,lineone,linetwo,linethree,line1,line2,line3
 upbeg=1
 upend=instrb(upbeg,content,getbytestring(chr(10)))
 lineone=midb(content,upbeg,upend-upbeg)
 upbeg=upend+1
 line1=lenb(lineone)
 upend=instrb(upbeg,content,getbytestring(chr(10)))
 linetwo=midb(content,upbeg,upend-upbeg)
 upbeg=upend+1
 line2=lenb(linetwo)
 upend=instrb(upbeg,content,getbytestring(chr(13)))
 linethree=midb(content,upbeg,upend-upbeg)
 line3=lenb(linethree)
 
 '獲得檔案名稱
 dim pp,checknametemp,checklen,checkname,filename
 pp=instrb(1,linetwo,getbytestring(chr(46)))
 checknametemp=rightb(linetwo,line2-pp+1)
 checklen=instrb(1,checknametemp,getbytestring(chr(34)))
 checkname=getstring(leftb(checknametemp,checklen-1))
 
 '檢測檔案尾碼
 if checkname<>"Content-Disposition: form-data; name=" then
 if checkname=".txt" or checkname=".doc" or checkname=".gif" or checkname=".jpg" or checkname=".jpeg" or checkname=".zip" or checkname=".rar" or checkname=".bmp" or checkname=".png" or checkname=".tiff" then

 '定義檔案名稱
 filename=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&checkname
 
 '上傳檔案
 dim alllen,upstream,upstreamend,file
 alllen=line1+line2+line3+6
 set upstream=server.createobject("adodb.stream")
 set upstreamend=server.createobject("adodb.stream")
 upstream.type=1
 upstreamend.type=1
 upstream.open
 upstreamend.open
 upstream.write content
 upstream.position=alllen
 file=upstream.read(clng(contentlen-alllen-line1-5))
 upstreamend.write file
 upstreamend.savetofile(server.mappath(picsavefolder&filename))
 upstream.close
 upstreamend.close
 set upstream=nothing
 set upstreamend=nothing
 
 response.write "檔案上傳成功!<br>檔案名稱:"&siteurl&"/"&picsavefolder&filename
 
 else
 response.write "不允許上傳"&checkname&"格式檔案"
 end if

 else
 response.write "您沒有填寫檔案名稱"
 end if
 
 end if
end if
%>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。