主頁 > 知識庫 > 通過表單的做為二進制文件上傳request.totalbytes提取出上傳的二級制數(shù)據(jù)

通過表單的做為二進制文件上傳request.totalbytes提取出上傳的二級制數(shù)據(jù)

熱門標(biāo)簽:地圖標(biāo)注服務(wù)哪家好 騰訊地圖標(biāo)注商戶關(guān)閉 西寧公司外呼系統(tǒng)平臺 地圖標(biāo)注宅基地 武漢營銷電話機器人軟件 徐州人工智能電銷機器人好用嗎 智能電銷機器人適用于哪些行業(yè) 外呼系統(tǒng)還用卡么 長沙防封電銷卡品牌
復(fù)制代碼 代碼如下:

input name="file" type="file">
formsize=request.totalbytes
formdata=request.binaryread(formsize)
bncrlf=chrB(13) chrB(10)
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
datastart=instrb(formdata,bncrlf bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
mydata=midb(formdata,datastart,dataend)

formsize=request.totalbytes
取得上傳的最大字節(jié)數(shù)
-----------------------
formdata=request.binaryread(formsize)
取得二進制流的表單form數(shù)據(jù)
-----------------------
bncrlf=chrB(13) chrB(10)
設(shè)定crlf 回車換行代碼變量
------------------------------
divider=leftB(formdata,clng(instrb(formdata,bncrlf))-1)
取得第一個crlf左邊的字節(jié)數(shù)據(jù)
instrb(formdata,bncrlf)-1機檢查出crlf二進制字節(jié)的位值減一,即為該標(biāo)志位信息之前的二進制數(shù)據(jù),需要說明的是instrb返回的是clng,所以此處加了一個clng是多余的
------------------------------
datastart=instrb(formdata,bncrlf bncrlf)+4
取得圖象數(shù)據(jù),去除form表單添加的頭信息的啟始位置,也就是你的type=file在form提交后的真正文件數(shù)據(jù)的字節(jié)起始位置
二個連續(xù)crlf的位置+4(即而個crlfg的長度)
-------------------------------
dataend=instrb(datastart+1,formdata,divider)-datastart
從上的取得的數(shù)據(jù)位置+1做為檢查數(shù)據(jù)結(jié)尾的參考計算值,在datastart+1開始的位置檢測返回第一個二進制form分隔頭信息的位置,再減去datastar的相對位置
----------------------------
mydata=midb(formdata,datastart,dataend)
midb()取以上多番周折取得的上傳文件數(shù)據(jù)的star end位制的數(shù)據(jù)
ok --------------> 現(xiàn)在干干凈凈的提取出上傳的二級制數(shù)據(jù)

注:
(1).所有 *B系列的VB函數(shù)均是按字節(jié)byte來處理,處理二級制必須用他們
(2).type=file 和 相應(yīng)的form類型的表單數(shù)據(jù)提交后均對每個文件域附加有相應(yīng)的頭信息
所以必須按上面的算法來明確找到真正的文件數(shù)據(jù)
(3).同時頭信息里還包含上傳初始文件名的數(shù)據(jù)如 c:\aaa\aaa.jpg,可以同樣處理formdata的數(shù)據(jù)而提取該段文件域數(shù)據(jù)的初試文件名
(4).這些算法是來源于http“form”規(guī)范提供的格式數(shù)據(jù),所以任何一家的處理算法都是大同小異的!

標(biāo)簽:通遼 普洱 通化 荊門 運城 雅安 鷹潭 巴彥淖爾

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《通過表單的做為二進制文件上傳request.totalbytes提取出上傳的二級制數(shù)據(jù)》,本文關(guān)鍵詞  通過,表單,的,做為,二進制,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《通過表單的做為二進制文件上傳request.totalbytes提取出上傳的二級制數(shù)據(jù)》相關(guān)的同類信息!
  • 本頁收集關(guān)于通過表單的做為二進制文件上傳request.totalbytes提取出上傳的二級制數(shù)據(jù)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章