將二進位字元轉換成一般字元(multipart/form-data取出)

來源:互聯網
上載者:User
form-data|multipart|二進位|轉換 <%
response.expires=0
'目的:將二進位字元轉換成一般字元
Function bin2str(binstr)
Dim varlen,clow,ccc,skipflag
skipflag=0
ccc = ""
varlen=LenB(binstr)
For i=1 To varlen
If skipflag=0 Then
clow = MidB(binstr,i,1)
If AscB(clow) > 127 Then
ccc =ccc & Chr(AscW(MidB(binstr,i+1,1) & clow))
skipflag=1
Else
ccc = ccc & Chr(AscB(clow))
End If
Else
skipflag=0
End If
Next
bin2str = ccc
End Function
'目的:把表單中的圖象資料分離出來
'其中參數formsize為表單資料大小,formdata為表單的總資料
Function ImageUp(formsize,formdata)
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1) 'formdata第一個bncrlf左邊的資料
datastart=instrb(formdata,bncrlf & bncrlf)+4 '兩個bncrlf右邊的資料的起始位
dataend=instrb(datastart+1,formdata,divider)-datastart
Imageup=midb(formdata,datastart,dataend)
End Function
'目的:把表單中的變數值取出
'其中參數varName為要尋找的欄位變數,strTXT為已從圖象中分離出來的的所有文本
Function findVar(varName,strTxt)
startPos=1
strLen=len(varName)+2
'表單中可能有多個同名變數(用在有主表與明細表中的資料更新中)
for i=1 to len(strTXT)
varStart=instr(startPos,strTXT,varName)+strLen+3
varEnd=instr(varStart,strTXT,"--")-2
varValLen=varEnd-varStart

inVar=mid(strTXT,varStart,varValLen)
findVar=findVar & inVar

startPos=instr(varStart,strTXT,varName)
if startPos=0 then exit for '如果找不到則退出迴圈
findVar=findVar & "," ' 以","作為多個同名變數值間的分隔字元,實際上本例倒不需要
next
End function

FormSize = Request.TotalBytes
FormData = Request.BinaryRead( FormSize )
Image = ImageUp(FormSize,Formdata)
'以下兩步不能省略,否則取不出文字
strTXT=mid(formdata,instr(formdata,image)+len(image)+1) '取出文字
strTXT=bin2str(strTXT) '二進位轉換成普通文字

aaa=findVar("aaa",strTXT) '相當於request.form("aaa")
%>


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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