admin 管理员组文章数量: 1086019
2023年12月18日发(作者:revolve中国官网下载)
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
"/TR/xhtml1/DTD/">
<%
dim file_size,file_data
file_size=ytes
if file_size<>0 then
file_data=Read(file_size)
'(file_size)
'(BinaryToString(file_data))
dim paremator,mark
mark=chrb(13)&chrb(10)
paremator=leftb(file_data,instrb(file_data,mark)-1)
'(BinaryToString(paremator)&"
")
dim temp_url,temp_url_start,temp_url_end
dim str01,str02,str03,str03_start,str04,str04_start
str01=StringToBinary("Content-Disposition: form-data; name=""")
str02=StringToBinary("""; filename=""")
str03=paremator&mark&str01
str03_start=instrb(file_data,str03)+lenb(str03)
temp_url_start=instrb(str03_start,file_data,str02)+lenb(str02)
str04=leftb(file_data,temp_url_start)
str04_start=instrb(file_data,str04)+lenb(str04)
temp_url_end=instrb(str04_start,file_data,mark)-2
temp_url=BinaryToString(midb(file_data,temp_url_start,temp_url_end-temp_url_start+1))
(temp_url&"-客户端路径
")
dim temp_name
temp_name=mid(temp_url,instrrev(temp_url,"")+1)
(temp_name&"-客户端文件名
")
dim content_start,content_end,content_len
content_start=InstrB(temp_url_start,file_data,mark&mark)+4 '定位到文件内容所在的第1个字符
content_end=InstrB(content_start,file_data,paremator)-3 '定位到文件内容的最后一个字符
content_len=content_end-content_start+1
dim stream01,stream02
set stream01=Object("")
=1
file_data
set stream02=Object("")
=1
on=content_start-1
stream02,content_len
file h(temp_name),2
'------------------------------------------------------------------------------------------------
'该函数可以将二进制字符串转换成文本字符串
Function BinaryToString(thedata)
'变量strNow表示正在处理的字符,strTemp用来保存已经处理完毕的字符串
'变量flag是一个标志,False表示前一个字符不是中文,True表示前一个字符是中文
Dim strNow,strTemp,flag,I
flag=False
'利用循环依次转换每一个字符
For I=1 To LenB(thedata)
'因为一个中文字符包括两个字节,如果flag=True,表示前一个字符是中文,所以
'要跳过该字符,需要令标志flag=False。否则表示不是中文,就需要将其转换
If flag=True Then
flag=False
Else
'取出当前二进制字符
strNow=MidB(thedata,I,1)
'如果AscB(strNow)>127,表示这是一个中文字符,AscB(tsrNow)<127,表示不是中文字符
If AscB(strNow) > 127 Then
'如果是中文,首先需要把当前字符和下一个字符调换位置,然后用AscW
'返回对应的ASCII码。随之,用Chr函数返回该ASCII码对应的文本
'最后,还要把中文标志设为True
strTemp=strTemp & Chr(AscW(MidB(thedata,I+1,1) & strNow))
flag=True
Else
'这表示是英文,AscB返回对应的ASCII码,Chr返回对应的文本字符
strTemp=strTemp & Chr(AscB(strNow))
End If
End If
Next
BinaryToString=strTemp '返回函数值
End Function
'该函数可以将文本字符串转换成二进制字符串
Function StringToBinary(thedata)
'变量strNow表示正在处理的字符,strTemp用来保存已经处理完毕的字符串
'变量intNow用来表示当前字符的ASCII码
'变量ascLow和ascHigh用来保存中文字符的第1个和第2个字节
Dim strNow,intNow,strTemp,I,binLow,binHigh
'利用循环依次转换每一个字符
For I=1 To Len(thedata)
'取出当前文本字符,并返回ASCII码
strNow=Mid(thedata,I,1)
intNow=Asc(strNow)
'如果Asc(strNow)<0,则表示是中文字符,则需要加上65535返回它的无符号数值
If intNow<0 Then
intNow=intNow+65535
End If
'如果加上65535后ASCII码大于255,则表示是中文,中文是用两个字节表示的,必须分开处理。当然,如果是英文字符就简单了
If intNow>255 Then
'这里binLow返回低字节,binHigh返回高字节其中Hex函数返回一个字符串,表示一个数字的十六进制数
binLow="&H" & Left(Hex(Asc(strNow)),2)
binHigh="&H" & Right(Hex(Asc(strNow)),2)
strTemp=strTemp & ChrB(binLow) & ChrB(binHigh)
Else
'这表示是英文,Asc函数返回ASCII码,ChrB返回对应的二进制字符。
strTemp=strTemp & ChrB(Asc(strNow))
End If
Next
StringToBinary=strTemp '返回函数值
End Function
end if
%>
版权声明:本文标题:asp无组件上传示例(自己写的) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1702834485a432629.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论