乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      關(guān)于Adodb.Stream 的使用說(shuō)明...

       shaibiao 2007-02-14

      組件:"Adodb.Stream"
      有下列方法:
      Cancel 方法
         使用方法如下
         Object.Cancel
         說(shuō)明:取消執(zhí)行掛起的異步 Execute 或 Open 方法的調(diào)用。
      Close 方法
         使用方法如下
         Object.Close
         :關(guān)閉對(duì)像
      CopyTo 方法
         使用方法如下
         Object.CopyTo(destStream,[CharNumber])
         說(shuō)明:將對(duì)像的數(shù)據(jù)復(fù)制,destStream指向要復(fù)制的對(duì)像,CharNumber為可選參數(shù),指要復(fù)制的字節(jié)數(shù),不選為全部復(fù)制。
      Flush 方法
         使用方法如下
         Object.Flush
         說(shuō)明:
      LoadFromFile 方法
         使用方法如下
         Object.LoadFromFile(FileName)
         說(shuō)明:將FileName指定的文件裝入對(duì)像中,參數(shù)FileName為指定的用戶名。
      Open 方法
         使用方法如下
         Object.Open(Source,[Mode],[Options],[UserName],[Password])
         說(shuō)明:打開對(duì)像,
         參數(shù)說(shuō)明:Sourece 對(duì)像源,可不指定
       Mode 指定打開模式,可不指定,可選參數(shù)如下:
        adModeRead =1
        adModeReadWrite =3
        adModeRecursive =4194304
        adModeShareDenyNone =16
        adModeShareDenyRead =4
        adModeShareDenyWrite =8
        adModeShareExclusive =12
        adModeUnknown =0
        adModeWrite =2
       Options 指定打開的選項(xiàng),可不指定,可選參數(shù)如下:
        adOpenStreamAsync =1
        adOpenStreamFromRecord =4
        adOpenStreamUnspecified=-1
       UserName 指定用戶名,可不指定。
       Password 指定用戶名的密碼
      Read 方法
      使用方法如下:
      Object.Read(Numbytes)
      說(shuō)明:讀取指定長(zhǎng)度的二進(jìn)制內(nèi)容。
      參數(shù)說(shuō)明:Numbytes指定的要讀取的找度,不指定則讀取全部。

      ReadText 方法
      使用方法如下:
      Object.ReadText(NumChars)
      說(shuō)明:讀取指定長(zhǎng)度的文本
      參數(shù)說(shuō)明:NumChars指定的要讀取的找度,不指定則讀取全部。

      SaveToFile 方法
      使用方法如下:
      Object.SaveToFile(FileName,[Options])
      說(shuō)明:將對(duì)像的內(nèi)容寫到FileName指定的文件中
      參數(shù)說(shuō)明:FileName指定的文件
        Options 存取的選項(xiàng),可不指定,可選參數(shù)如下:
         adSaveCreateNotExist =1
         adSaveCreateOverWrite =2

      SetEOS 方法
      使用方法如下:
      Object.setEOS()
      說(shuō)明:
      SkipLine 方法
      使用方法如下:
      Object.SkipLine()
      說(shuō)明:
      Write 方法
      使用方法如下:
      Object.Write(Buffer)
      說(shuō)明:將指定的數(shù)據(jù)裝入對(duì)像中。
      參數(shù)說(shuō)明:Buffer 為指定的要寫入的內(nèi)容。
      WriteText 方法
      使用方法如下:
      Object.Write(Data,[Options])
      說(shuō)明:將指定的文本數(shù)據(jù)裝入對(duì)像中。
      參數(shù)說(shuō)明:Data 為指定的要寫入的內(nèi)容。
            Options 寫入的選項(xiàng),可不指定,可選參數(shù)如下:
        adWriteChar =0
        adWriteLine =1




      有下列屬性:
      Charset
      EOS 返回對(duì)像內(nèi)數(shù)據(jù)是否為空。

      LineSeparator 指定換行格式,可選參數(shù)有
       adCR  =13
       adCRLF  =-1
       adLF  =10

      Mode 指定或返加模式。

      Position 指定或返加對(duì)像內(nèi)數(shù)據(jù)的當(dāng)前指針。

      Size 返回對(duì)像內(nèi)數(shù)據(jù)的大小。

      State 返加對(duì)像狀態(tài)是否打開。

      Type 指定或返回的數(shù)據(jù)類型,可選參數(shù)為:
       adTypeBinary =1
       adTypeText =2

      用了6行代碼實(shí)現(xiàn)了無(wú)組件上傳:

      strFileName = Request.QueryString("file1")
      Set objStream = Server.CreateObject("ADODB.Stream")
      objStream.Type = 1 ‘ adTypeBinary
      objStream.Open
      objStream.LoadFromFile strFileName
      objStream.SaveToFile Server."123_onweb.gif",2

      使用方法:

      把上面的代碼寫成upload.asp
      在瀏覽器里面輸入:
      http://XXX/upload.asp?file1=c:\上傳文件\123.gif
      XXX為你的主機(jī)地址
      執(zhí)行完后你會(huì)看到你的目錄下面多了一個(gè)123_onweb.gif
      他就是你要文件拉!?。?!

      根據(jù)原理我們可以擴(kuò)展以下代碼:
      upload.asp文件
      <%
      Function GetFileName(ByVal strFile)
      If strFile <> "" Then
      GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
      Else
      GetFileName = ""
      End If
      End function

      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="FORM" action="upload.asp" method="post">
        <input type="submit" name="submit" value="OK">
      <input type="file" name="file1" style="width:400" value="">
      </form>


      讀文件不想用FSO,有的空間不支持。
      有一個(gè)LoadFromFile的方法??梢宰x取文件。
      下面是我的代碼。

      function readfile(URL,chartype)
      set srmObj = server.CreateObject("adodb.stream")
      srmObj.type=1
      srmObj.mode=3
      srmObj.open
      srmObj.Position=0
      srmObj.LoadFromFile URL

      srmObj.Position = 0
      srmObj.type=2
      srmObj.charset=chartype
      readfile=srmObj.readtext()

      end function

      兩個(gè)參數(shù)。URL是文件的路徑,好像只能絕對(duì)路徑。chartype是文件以什么編碼存放的。

      返回一個(gè)字符串,存放文件的內(nèi)容。

      這個(gè)函數(shù)只能讀文本文件。讀二進(jìn)制文件也差不多。要用的人可以自己改

        < = src="/article/js/c9.js"> 基于adodb.stream的文件操作類
      <% 

      ’************************************************************* 
      ’轉(zhuǎn)發(fā)時(shí)請(qǐng)保留此聲明信息,這段聲明不并會(huì)影響你的速度! 
      ’************************************************************* 


      ’************************************************************* 
      ’@author:                        面條 
      ’@realname:                        徐仁祿 
      ’@email:                        xurenlu@sohu.com 
      ’@QQ:                            55547082 
      ’@Homepage:                        http://www. 
      ’@版權(quán)申明: 
      ’            非盈利性質(zhì)團(tuán)體或者個(gè)人可以免費(fèi)使用. 
      ’************************************************************* 


      ’************************************************************* 
      ’        類名稱:        files 
      ’        類功能:            實(shí)現(xiàn)文件讀寫功能,利用adodb.stream實(shí)現(xiàn),在不支持fso的主機(jī)上也可以讀寫文件. 
      ’************************************************************* 

      class files 
           
           
          private adSaveCreateOverWrite    ’創(chuàng)建文件的時(shí)候可以覆蓋已經(jīng)存在的文件. 
          private adSaveCreateNotExist    ’保存文件的時(shí)候如果文件不存在,可以創(chuàng)建文件. 


      ’************************************************************* 
      ’        事件名稱:        Class_Initialize() 
      ’        事件發(fā)生條件:    類創(chuàng)建時(shí)候產(chǎn)生該事件 
      ’        事件內(nèi)容:        給私有變量賦值 
      ’        事件傳入?yún)?shù):    無(wú) 
      ’************************************************************* 


          sub Class_Initialize() 
               adSaveCreateOverWrite =2 
               adSaveCreateNotExist = 1 
          end sub 


      ’************************************************************* 
      ’        函數(shù)名稱:        function readfile(filepath) 
      ’        函數(shù)內(nèi)容:        讀出文件 
      ’        傳入?yún)?shù):        filepath:要讀的文件的絕對(duì)路徑 
      ’        返回參數(shù):        要讀的文件的內(nèi)容. 
      ’************************************************************* 
      function readfile(filepath) 
           
           
          on error resume next 
           
          dim stm2 
           
           
          set stm2 =server.createobject("ADODB.Stream") 
          stm2.Charset = "gb2312" 
          stm2.Open 
          stm2.LoadFromFile filepath 
          readfile = stm2.ReadText 
      end function  


      ’************************************************************* 
      ’        函數(shù)名稱:        function writefile(filepath,str) 
      ’        函數(shù)內(nèi)容:        寫入文件 
      ’        傳入?yún)?shù):        filepath:要讀的文件的絕對(duì)路徑 
      ’                        str:    要寫入的內(nèi)容 
      ’        返回參數(shù):        無(wú)返回 
      ’************************************************************* 


          function writefile(filepath,str) 


              on error resume next 
               
               
              Set stm = server.createobject("ADODB.Stream") 
              stm.Charset = "gb2312" 
              stm.Open 
              stm.WriteText str 
              stm.SaveToFile filepath, adSaveCreateOverWrite 
          end function 
           
           

      ’************************************************************* 
      ’        函數(shù)名稱:        function copy(filepath_s,filepath_d) 
      ’        函數(shù)內(nèi)容:        讀出文件 
      ’        傳入?yún)?shù):        filepath_d:目的文件的絕對(duì)路徑  
      ’                        filepath_s:源文件路徑 
      ’************************************************************* 
      function copy(filepath_s,filepath_d)     
          on error resume next     
          dim stm2 
          set stm2 =server.createobject("ADODB.Stream") 
          stm2.Charset = "gb2312" 
          stm2.Open 
          stm2.LoadFromFile filepath_s 
          stm2.SaveToFile filepath_d, adSaveCreateOverWrite 
      end function  


      end class 

      利用Adodb.Stream直接下載文件

      在瀏覽器的地址欄里直接輸入一個(gè)doc或xls或jpg的文件的url路徑,那么該文件會(huì)直接顯示在瀏覽器里

      。而在很多時(shí)候我們希望能直接彈出下載提示框讓用戶下載,我們?cè)撛趺崔k呢?這里有兩種方法:
      1、設(shè)置你的服務(wù)器的iis,給doc等后綴名做映射
      2、在向客戶端發(fā)送時(shí)設(shè)置其contenttype

      下面詳細(xì)說(shuō)明方法2
      程序代碼:


      _code style="DISPLAY: none" name="html_code"><%
      Response.Buffer = true
      Response.Clear

      dim url
      Dim fso,fl,flsize
      dim Dname
      Dim objStream,ContentType,flName,isre,url1
      ‘*********************************************調(diào)用時(shí)傳入的下載文件名
      Dname=trim(request("n"))
      ‘******************************************************************
      If Dname<>"" Then
      ‘******************************下載文件存放的服務(wù)端目錄
      url=server.MapPath("/")&"\"&Dname
      ‘***************************************************
      End If

      Set fso=Server.CreateObject("Scripting.FileSystemObject")
      Set fl=fso.getfile(url)
      flsize=fl.size
      flName=fl.name
      Set fl=Nothing
      Set fso=Nothing
      %>
      <%
      Set objStream = Server.CreateObject("ADODB.Stream")
      objStream.Open
      objStream.Type = 1
      objStream.LoadFromFile url


      Select Case lcase(Right(flName, 4))
      Case ".asf"
      ContentType = "video/x-ms-asf"
      Case ".avi"
      ContentType = "video/avi"
      Case ".doc"
      ContentType = "application/msword"
      Case ".zip"
      ContentType = "application/zip"
      Case ".xls"
      ContentType = "application/vnd.ms-excel"
      Case ".gif"
      ContentType = "image/gif"
      Case ".jpg", "jpeg"
      ContentType = "image/jpeg"
      Case ".wav"
      ContentType = "audio/wav"
      Case ".mp3"
      ContentType = "audio/mpeg3"
      Case ".mpg", "mpeg"
      ContentType = "video/mpeg"
      Case ".rtf"
      ContentType = "application/rtf"
      Case ".htm", "html"
      ContentType = "text/html"
      Case ".txt"
      ContentType = "text/plain"
      Case Else
      ContentType = "application/octet-stream"
      End Select


      Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
      Response.AddHeader "Content-Length", flsize

      Response.Charset = "UTF-8"
      Response.ContentType = ContentType

      Response.BinaryWrite objStream.Read
      Response.Flush
      response.Clear()
      objStream.Close
      Set objStream = Nothing

      %>
      _lightcode style="BORDER-RIGHT: #999999 1px dotted; PADDING-RIGHT: 5px; BORDER-TOP: #999999

      1px dotted; PADDING-LEFT: 5px; FONT-SIZE: 11px; PADDING-BOTTOM: 5px; BORDER-LEFT: #999999

      1px dotted; PADDING-TOP: 5px; BORDER-BOTTOM: #999999 1px dotted; FONT-FAMILY: sans-serif;

      HEIGHT: 40px; BACKGROUND-COLOR: #f9f9f9" name="html_lightcode"><%
      Response.Buffer = true
      Response.Clear

      dim url
      Dim fso,fl,flsize
      dim Dname
      Dim objStream,ContentType,flName,isre,url1
      ‘*********************************************調(diào)用時(shí)傳入的下載文件名
      Dname=trim(request("n"))
      ‘******************************************************************
      If Dname<>"" Then
      ‘******************************下載文件存放的服務(wù)端目錄
      url=server.MapPath("/")&"\"&Dname
      ‘***************************************************
      End If

      Set fso=Server.CreateObject("Scripting.FileSystemObject")
      Set fl=fso.getfile(url)
      flsize=fl.size
      flName=fl.name
      Set fl=Nothing
      Set fso=Nothing
      %>
      <%
      Set objStream = Server.CreateObject("ADODB.Stream")
      objStream.Open
      objStream.Type = 1
      objStream.LoadFromFile url


      Select Case lcase(Right(flName, 4))
      Case ".asf"
      ContentType = "video/x-ms-asf"
      Case ".avi"
      ContentType = "video/avi"
      Case ".doc"
      ContentType = "application/msword"
      Case ".zip"
      ContentType = "application/zip"
      Case ".xls"
      ContentType = "application/vnd.ms-excel"
      Case ".gif"
      ContentType = "image/gif"
      Case ".jpg", "jpeg"
      ContentType = "image/jpeg"
      Case ".wav"
      ContentType = "audio/wav"
      Case ".mp3"
      ContentType = "audio/mpeg3"
      Case ".mpg", "mpeg"
      ContentType = "video/mpeg"
      Case ".rtf"
      ContentType = "application/rtf"
      Case ".htm", "html"
      ContentType = "text/html"
      Case ".txt"
      ContentType = "text/plain"
      Case Else
      ContentType = "application/octet-stream"
      End Select


      Response.AddHeader "Content-Disposition", "attachment; filename=" & flName
      Response.AddHeader "Content-Length", flsize

      Response.Charset = "UTF-8"
      Response.ContentType = ContentType

      Response.BinaryWrite objStream.Read
      Response.Flush
      response.Clear()
      objStream.Close
      Set objStream = Nothing

      %>
      _sunny.gif" width=0 onload=show(this)>

      將上面的東西存成download.asp然后你就可以用http://xxx./download.asp?n=file.doc"來(lái)下載

      同一目錄下的file.doc了!

      但是這里有個(gè)問(wèn)題就是直接將file.doc路徑寫在url里是不安全的,所以解決方案應(yīng)該是將file.doc的路

      徑存到數(shù)據(jù)庫(kù)里,同過(guò)查找數(shù)據(jù)庫(kù)后得到路徑

      在這個(gè)程序的最前面如果加上一個(gè)判斷:

      if instr(Request.ServerVariables("HTTP_REFERER"),"http: file://你的域名")=0 then
      Response.End
      end if

      就能夠很好的防止別人的盜鏈了


       

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多