国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

通過表單的做為二進制文件上傳request.totalbytes提

2024-05-04 11:08:47
字體:
來源:轉載
供稿:網友
 
通過表單的做為二進制文件上傳request.totalbytes提取出上傳的二級制數據的代碼說明。
 
 
 
復制代碼代碼如下:

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 彭水| 赣榆县| 视频| 闽侯县| 巢湖市| 营山县| 栾城县| 洱源县| 宁河县| 西华县| 长春市| 广水市| 融水| 顺义区| 内丘县| 伊春市| 渑池县| 瑞安市| 玛曲县| 密云县| 万荣县| 镇江市| 宁津县| 阜宁县| 威海市| 自治县| 厦门市| 榆树市| 鄂尔多斯市| 海晏县| 嵊州市| 措美县| 尉氏县| 浑源县| 永福县| 洪洞县| 新疆| 成安县| 淅川县| 宜黄县| 深水埗区|