asp实现语音上传

<script language="javascript"> 
function openScript(url, width, height){ 
var Win = window.open(url,"openScript",'width=' + width + ',height=' + height + ',resizable=1,scrollbars=yes,menubar=no,status=yes' ); 

</script> 
<form action="save.asp" method="POST" enctype="multipart/form-data"> 
<tr> 
<td width="17%" height="66">选择语音</td> 
<td height="66" colspan="5"> 
<input type="file" name="wav" class="lan"> 
<input type="submit" name="Submit4" value="确定上传" class="lan"> <input name="button" type="button" class="bu" value="有声档案" onClick="openScript('../play.asp?id=<%=session("id")%>','','scrollbars=no,resizable=no,width=340,height=200')"></td> 
</tr> 
</form> 
表 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 
%> 
wav.asp '读取数据 
<%@ Language=VBScript %> 
<% session.timeout=25%> 
<% 
set conn=server.CreateObject("adodb.connection") 
connstr="Provider=sqloledb.1;Persist Security Info=False;User ID=sa;Initial Catalog=database;Data source=127.0.0.1;pwd=" 
conn.open connstr 
if err.number<>0 or err then 
err.clear 
response.write Err.Description 
response.end 
%> 
<script language="javascript"> 
alert("网络现在繁忙,数据库连接发生错误,请等待几分钟再访问。") 
</script> 
<%end if%> 
<% 
dim RS,id 
set RS=Server.CreateObject("ADODB.Recordset") 
SQL="select wav from sound where id='"&request("id")&"'" 
RS.open SQL,conn,1,1 
Response.ContentType = "audio/x-wav" 
Response.BinaryWrite RS("wav").getChunk(7500000) 
'RS.close 
'set RS=nothing 
conn.close 
set conn=nothing 
%> 
play.asp '试听 
<!--<embed src="wav.asp?ID=6%>" AUTOSTART="true" LOOP="TRUE" HEIGHT="45" WIDTH="320" VOLUME="100"><br>--> 
<!-- Set ShowControls, ShowDisplay, ShowStatusBar 的值设定为 0,则不会显示在视频窗口下相对应的事物 --> 
<OBJECT ID="NSPlay" WIDTH=300 HEIGHT=145 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" standby="加载 Microsoft Windows Media Player 组件..." type="application/x-oleobject"> 
<PARAM NAME="FileName" VALUE="wav.asp?id=<%=request("id")%>"> 
<PARAM NAME="ShowControls" VALUE="1"> 
<PARAM NAME="ShowDisplay" VALUE="1"> 
<PARAM NAME="ShowStatusBar" VALUE="1"> 
<PARAM NAME="AutoSize" VALUE="1"> 
<embed src="wav.asp?uid=<%=request("id")%>" width="320" height="125" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/" filename="husteradio.asx" Name="NSPlay" ShowControls="1" ShowDisplay="1" ShowStatusBar="0"> 
</OBJECT>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn_aspnet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值