表 sound 字段 id numeric 9 (自增) wav image 16 wavinfo varchar 50 wavsize numeric
save.asp 将声音文件写入数据库
<%@ language=vbscript %>
<!–#include file="../conn.asp"–>
<%
response.expires=0
server.scripttimeout =3600
call main()
sub main()
formsize = request.totalbytes
formdata = request.binaryread( formsize )
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
wav = wavup(formsize,formdata)
strtxt=mid(formdata,instr(formdata,wav)+len(wav)+1)
strtxt=bin2str(strtxt)
wavinfo=findvar("wavinfo",strtxt)
set rs=server.createobject("adodb.recordset")
sql="select wav,wavsize,wavinfo from sound"
rs.open sql,conn,1,3
rs.addnew
rs("wavinfo")=wavinfo
rs("wavsize")=dataend-2
if len(wav)>1 then
rs("wav").appendchunk wav
end if
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
response.write(request.servervariables ("remote_addr"))
response.write("<script language=javascript>alert(语音上传成功了,请返回!);window.location.reload(sound.asp);</script>")
response.end
end sub
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
function wavup(formsize,formdata)
bncrlf=chrb(13) & chrb(10)
divider=leftb(formdata,instrb(formdata,bncrlf)-1)
datastart=instrb(formdata,bncrlf & bncrlf)+4
dataend=instrb(datastart+1,formdata,divider)-datastart
wavup=midb(formdata,datastart,dataend)
end function
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
%>
