• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 最短的無組件上傳代碼(僅9行)

    發表于:2007-06-30來源:作者:點擊數: 標簽:
    我研究了一下無組件上傳,并作出了一個最簡單可行的方法 ----用9行代碼真正實現無組件上傳,怎么說來花了才半天就寫了9行代碼算是有點效率和成果。 于是就寫了這篇文章。 formSize=Request.TotalBytes() formData=Request.BinaryRead(formSize) DataHeader=Le
    我研究了一下無組件上傳,并作出了一個最簡單可行的方法
    ----用9行代碼真正實現無組件上傳,怎么說來花了才半天就寫了9行代碼算是有點效率和成果。
    于是就寫了這篇文章。



    formSize=Request.TotalBytes()
    formData=Request.BinaryRead(formSize)
    DataHeader=LeftB(formData,InStrB(formData,Chrb(13)&Chrb(10)))
    strFileData=MIDB(formData,LenB(DataHeader),LenB(formData)-LenB(DataHeader)*2-3)
    HeaderPos2=InStrB(strFileData,ChrB(AscB("-"))&ChrB(AscB("T"))&ChrB(AscB("y"))&ChrB(AscB("p"))&C

    hrB(AscB("e")))
    HeaderPos3=InStrB(HeaderPos2,strFileData,Chrb(13))
    DataHeader2=LeftB(strFileData,HeaderPos3+4)
    strFileData=MIDB(strFileData,LenB(DataHeader2),LenB(strFileData))
    Response.binaryWrite(strFileData)







    DataHeader--文件頭
    strFileData--去處文件頭后的數據,最后的輸出值
    HeaderPos2--Content-Type:的位置
    HeaderPos3--例如:Content-Type:image/gif的位置
    DataHeader2--整個前面的文件頭

    思想:
    1。先直接去掉文件頭和尾(例如-----------------------------7d230d1f940277)
    2。跳過前面所有信息直接查找Content-Type:image/gif
    3。提取有用的信息和字段
    4。數據都提出來了至于怎么保存就簡單了。至于用FSO或Adodb.Stream就隨你了。

    問題:
    有人可能會講一個表單不可能只有一個file
    這樣的話你的數據就不能用這么簡單的辦法正常提取了
    其實也好辦你把他們分開做不就就完了:)


    下面是完整實例

    uup.htm
    <html>
    <a href="http://www.cgfront.com">www.cgfront.com</a>
    <form name="loadfromfile" action="uup.asp" method="post" enctype="multipart/form-data">
      <input type="submit" name="submit" value="OK">
    <input type="file" name="loadfromfile" style="width:400" value="">
    </form>
    </html>

    uup.asp
    <%
    formSize=Request.TotalBytes()
    formData=Request.BinaryRead(formSize)
    DataHeader=LeftB(formData,InStrB(formData,Chrb(13)&Chrb(10)))
    strFileData=MIDB(formData,LenB(DataHeader),LenB(formData)-LenB(DataHeader)*2-3)
    HeaderPos2=InStrB(strFileData,ChrB(AscB("-"))&ChrB(AscB("T"))&ChrB(AscB("y"))&ChrB(AscB("p"))&C

    hrB(AscB("e")))
    HeaderPos3=InStrB(HeaderPos2,strFileData,Chrb(13))
    DataHeader2=LeftB(strFileData,HeaderPos3+4)
    strFileData=MIDB(strFileData,LenB(DataHeader2),LenB(strFileData))
    Response.binaryWrite(strFileData)
    %>




    如果你的鍵盤上ctrl+C +V鍵都已經被你按壞了的話,沒關系我還給大家提供了相應的測試地點

    http://www.cgfront.com/up/uup.htm

    最后希望大家多多指教。


    作者:Leonard

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>