使用asp完成支持附件的郵件系統(tǒng)(3)
發(fā)表時間:2023-08-13 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]最后,我們來講講如何把內(nèi)容從數(shù)據(jù)庫中讀出來,內(nèi)容有這么幾類,一類是瀏覽器上可以顯示的,例如*.htm,一類是需要下載的,例如*.exe,還有一種是瀏覽器可以顯示但是不能夠讓他顯示的,例如*.asp,...
最后,我們來講講如何把內(nèi)容從數(shù)據(jù)庫中讀出來,內(nèi)容有這么幾類,一類是瀏覽器上可以顯示的,例如*.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
%>
文章到這里就結(jié)束了,至于郵件數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)大家根據(jù)代碼自己琢磨吧!