asp最短的無組件上傳代碼

來源:互聯網
上載者:User
我研究了一下無組件上傳,並作出了一個最簡單可行的方法
----用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)
%>

相關文章

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.