• 
      
        <strike id="w0aiq"><menu id="w0aiq"></menu></strike><fieldset id="w0aiq"></fieldset> <fieldset id="w0aiq"></fieldset>
      • <ul id="w0aiq"></ul>
        <ul id="w0aiq"></ul>
      • <ul id="w0aiq"></ul>

        用戶登陸

        網站相關幫助

        網站制作
        系統(tǒng)管理
        常見問題

        幫助文檔

        虛擬主機Asp無組件文件上傳到租用服務器空間的實例

        1.庫文件(upload.inc.asp)
        <%
        Dim oUpFileStream

        Class UpFile_Class

        Dim Form,File,Version,Err

        Private Sub Class_Initialize
        Version = "無組件上傳類 Version V1.0"
        Err = -1
        End Sub

        Private Sub Class_Terminate
        '清除變量及對像
        If Err < 0 Then
        Form.RemoveAll
        Set Form = Nothing
        File.RemoveAll
        Set File = Nothing
        oUpFileStream.Close
        Set oUpFileStream = Nothing
        End If
        End Sub

        Public Sub GetData (RetSize)
        '定義變量
        Dim RequestBinDate,sSpace,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
        Dim iFileSize,sFilePath,sFileType,sFormValue,sFileName
        Dim iFindStart,iFindEnd
        Dim iFormStart,iFormEnd,sFormName
        '代碼開始
        If Request.TotalBytes < 1 Then
        Err = 1
        Exit Sub
        End If
        If RetSize > 0 Then
        If Request.TotalBytes > RetSize Then
        Err = 2
        Exit Sub
        End If
        End If
        Set Form = Server.CreateObject ("Scripting.Dictionary")
        Form.CompareMode = 1
        Set File = Server.CreateObject ("Scripting.Dictionary")
        File.CompareMode = 1
        Set tStream = Server.CreateObject ("ADODB.Stream")
        Set oUpFileStream = Server.CreateObject ("ADODB.Stream")
        oUpFileStream.Type = 1
        oUpFileStream.Mode = 3
        oUpFileStream.Open
        oUpFileStream.Write Request.BinaryRead (Request.TotalBytes)
        oUpFileStream.Position = 0
        RequestBinDate = oUpFileStream.Read
        iFormEnd = oUpFileStream.Size
        bCrLf = ChrB (13) & ChrB (10)
        '取得每個項目之間的分隔符
        sSpace = MidB (RequestBinDate,1, InStrB (1,RequestBinDate,bCrLf)-1)
        iStart = LenB (sSpace)
        iFormStart = iStart+2
        '分解項目
        Do
        iInfoEnd = InStrB (iFormStart,RequestBinDate,bCrLf & bCrLf)+3
        tStream.Type = 1
        tStream.Mode = 3
        tStream.Open
        oUpFileStream.Position = iFormStart
        oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart
        tStream.Position = 0
        tStream.Type = 2
        tStream.CharSet = "gb2312"
        sInfo = tStream.ReadText
        '取得表單項目名稱
        iFormStart = InStrB (iInfoEnd,RequestBinDate,sSpace)-1
        iFindStart = InStr (22,sInfo,"name=""",1)+6
        iFindEnd = InStr (iFindStart,sInfo,"""",1)
        sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
        '如果是文件
        If InStr (45,sInfo,"filename=""",1) > 0 Then
        Set oFileInfo = new FileInfo_Class
        '取得文件屬性
        iFindStart = InStr (iFindEnd,sInfo,"filename=""",1)+10
        iFindEnd = InStr (iFindStart,sInfo,"""",1)
        sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
        oFileInfo.FileName = Mid (sFileName,InStrRev (sFileName, "\")+1)
        oFileInfo.FilePath = Left (sFileName,InStrRev (sFileName, "\")+1)
        oFileInfo.FileExt = Mid (sFileName,InStrRev (sFileName, ".")+1)
        iFindStart = InStr (iFindEnd,sInfo,"Content-Type: ",1)+14
        iFindEnd = InStr (iFindStart,sInfo,vbCr)
        oFileInfo.FileType = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
        oFileInfo.FileStart = iInfoEnd
        oFileInfo.FileSize = iFormStart -iInfoEnd -2
        oFileInfo.FormName = sFormName
        file.add sFormName,oFileInfo
        else
        '如果是表單項目
        tStream.Close
        tStream.Type = 1
        tStream.Mode = 3
        tStream.Open
        oUpFileStream.Position = iInfoEnd
        oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-2
        tStream.Position = 0
        tStream.Type = 2
        tStream.CharSet = "gb2312"
        sFormValue = tStream.ReadText
        If Form.Exists (sFormName) Then
        Form (sFormName) = Form (sFormName) & ", " & sFormValue
        else
        form.Add sFormName,sFormValue
        End If
        End If
        tStream.Close
        iFormStart = iFormStart+iStart+2
        '如果到文件尾了就退出
        Loop Until (iFormStart+2) = iFormEnd
        RequestBinDate = ""
        Set tStream = Nothing
        End Sub
        End Class

        '文件屬性類
        Class FileInfo_Class
        Dim FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
        '保存文件方法
        Public Function SaveToFile (Path)
        On Error Resume Next
        Dim oFileStream
        Set oFileStream = CreateObject ("ADODB.Stream")
        oFileStream.Type = 1
        oFileStream.Mode = 3
        oFileStream.Open
        oUpFileStream.Position = FileStart
        oUpFileStream.CopyTo oFileStream,FileSize
        oFileStream.SaveToFile Path,2
        oFileStream.Close
        Set oFileStream = Nothing
        if Err.Number<>0 then
        SaveToFile=err.number&"**"&Err.descripton
        else
        SaveToFile="ok"
        end if
        End Function

        '取得文件數(shù)據(jù)
        Public Function FileDate
        oUpFileStream.Position = FileStart
        FileDate = oUpFileStream.Read (FileSize)
        End Function
        End Class
        %>


        2.處理用戶提交后的頁面(upload.asp)
        <!--#include file="upload.inc.asp"-->
        <html>
        <head>
        <title>文件上傳</title>
        </head>
        <body topmargin="0" leftmargin="0">
        <table width=100% border=0 cellspacing="0" cellpadding="0"><tr><td class=tablebody1 width=100% height=100% >
        <%
        dim upload,file,formName,formPath,filename,fileExt
        dim ranNum
        call UpFile()
        '===========無組件上傳(upload_0)====================
        sub UpFile()
        set upload=new UpFile_Class '建立上傳對象
        upload.GetData (500*1024) '取得上傳數(shù)據(jù),此處即為500 K

        if upload.err > 0 then
        select case upload.err
        case 1
        Response.Write "請先選擇你要上傳的文件 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
        case 2
        Response.Write "圖片大小超過了限制 500 K [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
        end select
        exit sub
        else
        formPath=upload.form("filepath") '文件保存目錄,此目錄必須為程序可讀寫
        if formPath="" then
        formPath="rwdata/"
        end if
        '在目錄后加(/)
        if right(formPath,1)<>"/" then
        formPath=formPath&"/"
        end if

        for each formName in upload.file '列出所有上傳了的文件
        set file=upload.file(formName) '生成一個文件對象
        if file.filesize<100 then
        response.write "請先選擇你要上傳的圖片 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
        response.end
        end if

        fileExt=lcase(file.FileExt)
        if CheckFileExt(fileEXT)=false then
        response.write "文件格式不正確 [ <a href=# onclick=history.go(-1)>重新上傳</a> ]"
        response.end
        end if

        'randomize
        ranNum=int(90000*rnd)+10000
        filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
        if file.FileSize>0 then '如果 FileSize > 0 說明有文件數(shù)據(jù)
        result=file.SaveToFile(Server.mappath(filename)) '保存文件
        if result="ok" then
        response.write formName&" upload OK, had saved to "&filename&"<br>"
        else
        response.write formName&" upload Fail,"&result&"<br>"
        end if
        end if
        set file=nothing
        next
        set upload=nothing
        end if
        end sub

        '判斷文件類型是否合格
        Private Function CheckFileExt (fileEXT)
        dim Forumupload
        Forumupload="gif,jpg,bmp,jpeg"
        Forumupload=split(Forumupload,",")
        for i=0 to ubound(Forumupload)
        if lcase(fileEXT)=lcase(trim(Forumupload(i))) then
        CheckFileExt=true
        exit Function
        else
        CheckFileExt=false
        end if
        next
        End Function
        %>
        </td></tr></table>
        </body>
        </html>



        3.HTML 表單(upload.html)
        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
        <title>asp 無組件上傳</title>
        </head>

        <body>
        請選擇要上傳的文件
        <form action="upfile.asp" method="post" enctype="multipart/form-data" name="form1">
        <input type="file" name="file">
        <!--<br>
        <input type="file" name="file">
        <br>
        <input type="file" name="file">
        <br>-->
        <input type="submit" name="Submit" value="提交">
        </form>
        </body>
        </html>

        主站蜘蛛池模板: 青青草原精品国产亚洲av| www.久久精品| 97r久久精品国产99国产精| 精品国产青草久久久久福利| 99国产精品国产精品九九| 无码AV动漫精品一区二区免费| 午夜精品美女写真福利| 99久久久精品免费观看国产| 亚洲国产精品无码专区影院| 精品日韩欧美国产| 国产成人精品一区在线| 国产成人精品免费午夜app| 国产色婷婷五月精品综合在线| 热RE99久久精品国产66热| 国产伦精品一区二区三区视频猫咪 | 国产成人精品久久亚洲高清不卡| 精品国产一区二区三区色欲| 亚洲国产精品无码久久一线 | 国产精品天天影视久久综合网| 国产精品污WWW在线观看| 久久久一本精品99久久精品88 | 国产精品粉嫩美女在线观看| 久久国产精品99精品国产987| 99re这里只有精品国产精品| 国产精品色内内在线播放| 精品亚洲成a人片在线观看 | 99精品国产一区二区三区| 国产精品对白交换视频| 久久棈精品久久久久久噜噜| 亚洲AV永久纯肉无码精品动漫| 亚洲精品无码av天堂| 亚洲欧美日韩久久精品| 亚洲无码精品浪潮| 亚洲精品无码国产| 色妞ww精品视频7777| 精品国产第一国产综合精品| 精品爆乳一区二区三区无码av| 激情亚洲一区国产精品| 99在线热播精品免费99热| 99久久国语露脸精品国产| 国产精品999|
        上一篇:ASP.net虛擬主機 連接access數(shù)據(jù)庫例程       下一篇:PHP主機租用 PHP發(fā)郵件的例程

        備案系統(tǒng)認證 舉報不良網站 我們的支付方式 AAA級信用
        廣州萬戶網絡信息科技有限公司 旗下網站建設品牌:中外商貿 www.honglang-dl.com 版權所有 ©2000-2019 All Rights Reserved
        網站備案編號:粵ICP備15049595號 地址:廣州市番禺區(qū)大石街北聯(lián)圍仔工業(yè)路2號E座305
        電話:020-85421558   傳真:020-88140140   郵編:510515
        交換PR>=4的友情鏈接合作站,歡迎同行聯(lián)系鏈接QQ: