当前位置: 首页 > 图文教程 > 网络编程 > ASP > asp实现语音上传

ASP
嵌入式Web视频点播系统实现方法
GB与BIG5内码转换COM原代码
金额阿拉伯数字转换为中文的存储过程
利用 WSH 作定时工作流程
用InstallShield 进行 ASP 软件的打包和自动安装
服务器获得客户端时间的方法
关于如何读出图片的高度与长度的总结
按下回车键指向下一个位置的一个函数
一个不错的随机函数
一套加解密字符串的函数
一段加密函数(base64)
一段加密函数
使用asp实现支持附件的邮件系统(三)
使用asp实现支持附件的邮件系统(二)
使用asp实现支持附件的邮件系统(一)
检查当前目录下是否存在指定的文件,如果存在就重新命名
MD5加密的javascript实现例子
如何在服务器端调用winzip命令行对上传的多个文件打包压缩
MD5不可逆加密算法的ASP实现实例
看人家用使用InstallShield制作ASP安装程序(6)

ASP 中的 asp实现语音上传


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 235 ::
收藏到网摘: n/a

<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.Conte