最后,我们来讲讲如何把内容从数据库中读出来,内容有这么几类,一类是浏览器上可以显示的,例如*.htm,一类是需要下载的,例如*.exe,还有一种是浏览器可以显示但是不能够让他显示的,例如*.asp,请看代码: <% Response.Buffer= true Response.Clear function getname(oriname) thename=oriname do while instr(thename,"/")>0 thename=mid(thename,instr(thename,"/")+1) loop do while instr(thename,"\")>0 thename=mid(thename,instr(thename,"\")+1) loop getname=thename end function function canexec(thechar) if instr(thechar,".asp")>0 then canexec=false exit function end if if instr(thechar,".asa")>0 then canexec=false exit function end if if instr(thechar,".aspx")>0 then canexec=false exit function end if if instr(thechar,".asax")>0 then canexec=false exit function end if canexec=true end function mailID=request("mailID") se=request("se") if se<>1 and se<>2 and se<>3 then response.end end if Set conn=server.createobject("adodb.connection") set rs=server.createobject("adodb.recordset") conn.open "DSN=;UID=;PWD=" sql="select * from t_mail where ((geterempl like '%"&session("myid")&"%' or deleempl like '%"&session("myid")&"%' or receempl like '%"&session("myid")&"%' ) and (not deleverempl like '%"&session("myid")&"%')) and mailid='"&mailid&"' " rs.open sql,conn,3,3 if rs.eof or rs.bof then response.end end if if rs("filecontenttype_"&trim(se))<>"text/plain" or (not canexec(getname(trim(rs("filename_"&trim(se)))))) then Response.ContentType = rs("FileContentType_"&trim(se)) end if
'Response.AddHeader "content-type","application/x-msdownload"
if instr(response.contenttype,"application")>0 then response.AddHeader "Content-Disposition","attachment;filename="&getname(trim(rs("filename_"&trim(se)))) end if Response.BinaryWrite rs("FileContent_"&trim(se)) rs.close set rs=Nothing conn.close set conn=nothing %>
文章到这里就结束了,至于邮件数据库的数据结构大家根据代码自己琢磨吧!
|