日期:2013-06-25  浏览次数:20773 次

最后,我们来讲讲如何把内容从数据库中读出来,内容有这么几类,一类是浏览器上可以显示的,例如*.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
%>

文章到这里就结束了,至于邮件数据库的数据结构大家根据代码自己琢磨吧!

                            -----------sonic