1. <wbr id="m8vu6"></wbr>

      <del id="m8vu6"><center id="m8vu6"><source id="m8vu6"></source></center></del>
        <p id="m8vu6"><sub id="m8vu6"></sub></p>

        VB.net 2010 視頻教程 VB.net 2010 視頻教程 python基礎視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 網站開發 > ASPnet >
        • asp.net教程之純ASP上傳圖像文件到數據庫實例

         原作者: IAmTrue 

        ------------------------- 
        <html> 

        <head> 
        <title>保存圖片到數據庫</title> 
        </head> 

        <body> 
        <b> 

        <p></b>你可以找個圖片試試,保存完畢后會有提示</p> 

        <form METHOD="POST" ENCTYPE="multipart/form-data" ACTION="savetodb.asp"> 
         <p>Email : <input NAME="email" VALUE="wangcq@sina.com" size="20">

         Picture : <input TYPE="file" NAME="blob">

         <input TYPE="submit" NAME="Enter"> </p> 
        </form> 
        </body> 
        </html> 

        savetodb.asp 
        ---------------------------------- 
        <% 

        Response.Buffer = TRUE 
        Response.Clear 
        byteCount = Request.TotalBytes 

        RequestBin = Request.BinaryRead(byteCount) 
        Dim UploadRequest 
        Set UploadRequest = CreateObject("Scripting.Dictionary") 

        BuildUploadRequest RequestBin 

        email = UploadRequest.Item("email").Item("Value") 

        contentType = UploadRequest.Item("blob").Item("ContentType") 
        filepathname = UploadRequest.Item("blob").Item("FileName") 
        filename = Right(filepathname,Len(filepathname)-InstrRev(filepathname,"")) 
        picture = UploadRequest.Item("blob").Item("Value") 

        'Response.ContentType = contentType 
        'Response.binaryWrite picture 

        set objCn = server.createobject("adodb.connection") 
        set objRst = server.createobject("adodb.recordset") 
        objCn.Open "upload" 
        objrst.Open "pic", objcn, 1,3,2 
        objrst.addnew 
        objrst.fields("filename")=filename 
        objrst.fields("type")="gif" 

        objrst.fields("what").appendchunk picture 
        objrst.update 
        response.write "<a href=showpic.asp?id=" & objrst("id") & ">第" & objrst("id") & "個圖片。</a>" 
        objrst.close 

        objCn.close 
        set objrst=nothing 
        set objcn = nothing 
        %> 
        <!--#include file="upload.asp"--> 

        showpic.asp 
        ---------------------------------------- 
        <% 
        set objCn = server.createobject("adodb.connection") 
        set objRst = server.createobject("adodb.recordset") 
        objCn.Open "upload" 
        objrst.Open "select what from pic where id=" & request("id"), objcn 

        if not objrst.eof then 
          response.binarywrite objrst("what") 
        end if 

        objrst.close 
        objCn.close 
        set objrst=nothing 
        set objcn = nothing 
        %> 


        upload.asp 
        ------------------------------------------- 
        <% 
        Sub BuildUploadRequest(RequestBin) 
          'Get the boundary 
          PosBeg = 1 
          PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13))) 
          boundary = MidB(RequestBin,PosBeg,PosEnd-PosBeg) 
          boundaryPos = InstrB(1,RequestBin,boundary) 
          'Get all data inside the boundaries 
          Do until (boundaryPos=InstrB(RequestBin,boundary & getByteString("--"))) 
            'Members variable of objects are put in a dictionary object 
            Dim UploadControl 
            Set UploadControl = CreateObject("Scripting.Dictionary") 
            'Get an object name 
            Pos = InstrB(BoundaryPos,RequestBin,getByteString("Content-Disposition")) 
            Pos = InstrB(Pos,RequestBin,getByteString("name=")) 
            PosBeg = Pos+6 
            PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34))) 
            Name = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) 
            PosFile = InstrB(BoundaryPos,RequestBin,getByteString("filename=")) 
            PosBound = InstrB(PosEnd,RequestBin,boundary) 
            'Test if object is of file type 
            If PosFile<>0 AND (PosFile<PosBound) Then 
              'Get Filename, content-type and content of file 
              PosBeg = PosFile + 10 
              PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(34))) 
              FileName = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) 
              'Add filename to dictionary object 
              UploadControl.Add "FileName", FileName 
              Pos = InstrB(PosEnd,RequestBin,getByteString("Content-Type:")) 
              PosBeg = Pos+14 
              PosEnd = InstrB(PosBeg,RequestBin,getByteString(chr(13))) 
              'Add content-type to dictionary object 
              ContentType = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) 
              UploadControl.Add "ContentType",ContentType 
              'Get content of object 
              PosBeg = PosEnd+4 
              PosEnd = InstrB(PosBeg,RequestBin,boundary)-2 
              Value = MidB(RequestBin,PosBeg,PosEnd-PosBeg) 
              Else 
              'Get content of object 
              Pos = InstrB(Pos,RequestBin,getByteString(chr(13))) 
              PosBeg = Pos+4 
              PosEnd = InstrB(PosBeg,RequestBin,boundary)-2 
              Value = getString(MidB(RequestBin,PosBeg,PosEnd-PosBeg)) 
            End If 
            'Add content to dictionary object 
          UploadControl.Add "Value" , Value   
            'Add dictionary object to main dictionary 
          UploadRequest.Add name, UploadControl   
            'Loop to next object 
            BoundaryPos=InstrB(BoundaryPos+LenB(boundary),RequestBin,boundary) 
          Loop 

        End Sub 

        'String to byte string conversion 
        Function getByteString(StringStr) 
        For i = 1 to Len(StringStr) 
           char = Mid(StringStr,i,1) 
          getByteString = getByteString & chrB(AscB(char)) 
        Next 
        End Function 

        'Byte string to string conversion 
        Function getString(StringBin) 
        getString ="" 
        For intCount = 1 to LenB(StringBin) 
          getString = getString & chr(AscB(MidB(StringBin,intCount,1))) 
        Next 
        End Function 
        %> 

        test.mdb(dsn 名稱:upload) 
        ---------------------------------------- 
        表pic: 
        id:自動加 
        filename:文本 
        type:文本 
        what:ole 

        ----------------------------------------- 
        存成單個文件,放在一個目錄下,打開(必須用http://...)getfile.htm 
        上傳一個.gif或.jpg就可以顯示了。 
        對于大文件在顯示程序(showpic.asp)中可能會用到循環和getchunk方法。自己去做。記住,由于ASP目前暫時不支持二進行制讀寫,只能存二進制到數據庫中。 
        有什么問題,請致電veryblue@chinese.com (IAmTrue) 
        ----------------------------------------------------------------- 
        相關教程
                
        免费看成年人视频大全_免费看成年人视频在线观看