|
memberDownload.asp 文件下载前台页面: <% Set fso= CreateObject("Scripting.FileSystemObject") path=Server.MapPath (".") & "/$hoe/memberdl/0000" if fso.FolderExists(path) then Set f=fso.GetFolder(path) Set fc=f.Files 'if fc.count>0 then response.Write ("<ul><li type=square>Public<ul>") for each file in fc response.write("<li type=circle><a href='filedown.asp?floder=0000&strfile=" & file.name & "'>" & file.name & "</a>") next Response.write("</ul></ul>") 'end if end if %> <% set conn1=Server.CreateObject("ADODB.connection") Set rs1 = Server.CreateObject("ADODB.Recordset") conn1.open getConn1() sql="SELECT tblConfEnroll.ConfID FROM tblMemberRecord INNER JOIN tblConfEnroll ON tblMemberRecord.UID = tblConfEnroll.UID WHERE (tblMemberRecord.GAMAMemberNo='" & Session("MemberNo") & "')" rs1.Open sql,conn1,3 if rs1.EOF and rs1.BOF Then Response.Write (" the member didn't take part in the confernce") else dim i for i=1 to rs1.RecordCount set conn2=Server.CreateObject("ADODB.connection") Set rs2 = Server.CreateObject("ADODB.Recordset") conn2.open getConn1() sql="select ConfName, CConfName from tblConference where (ConfID=" & rs1("ConfID") & ")" rs2.Open sql,conn2,3 if rs2.BOF and rs2.EOF then Response.Write ("confid is invalid!") else Set fso= CreateObject("Scripting.FileSystemObject") path=Server.MapPath(".") &"/$hoe/memberdl/" & rs1("ConfID") if fso.FolderExists(path) then Set f=fso.GetFolder(path) Set fc=f.Files ' if fc.count>0 then if rs2("ConfName")<>"" then response.Write ("<ul><li type=square>" & rs2("CConfName") &"<ul>") for each file in fc response.write("<li type=circle><a href='filedown.asp?floder=" & rs1("ConfID")& "&strfile=" & file.name & "'>" & file.name & "</a>") next else response.Write (rs2("ConfName") &"<BR>") for each file in fc response.write("<li type=circle><a href='filedown.asp?floder=" & rs1("ConfID")& "&strfile=" & file.name & "'>" & file.name & "</a>") next end if Response.Write("</ul></ul>") end if 'end if end if Set rs2 = Nothing Set conn2 = Nothing rs1.MoveNext() next end if Set rs1 = Nothing Set conn1 = Nothing %>
filedown.asp 文件下载后台处理文件:包括下载权限的处理 <%@ CODEPAGE="65001"%> <!-- #include file="check_user_inc.asp"--> <!--#include file="common.asp"--> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>GAMA</title> </head> <body> <% floder=Request("floder") strfile=Request("strfile") if floder="0000" then path="$hoe/memberdl/" & floder & "/" & strfile downloadFile(path) else set conn1=Server.CreateObject("ADODB.connection") Set rs1 = Server.CreateObject("ADODB.Recordset") conn1.open getConn1() sql="SELECT tblConfEnroll.ConfID FROM tblMemberRecord INNER JOIN tblConfEnroll ON tblMemberRecord.UID = tblConfEnroll.UID WHERE (tblMemberRecord.GAMAMemberNo='" & Session("MemberNo") & "' and tblConfEnroll.ConfID=" & floder & ")" rs1.Open sql,conn1,3 if rs1.EOF and rs1.BOF Then Response.Write (" <p><strong>You don't have right to access the folder</strong></p> ") Response.End() else path="$hoe/memberdl/" & floder & "/" & strfile downloadFile(path) end if Set rs1 = Nothing Set conn1 = Nothing end if %> <% '文件下载函数,传入一个相对路径: function downloadFile(strFile) strFilename = server.MapPath(strFile) 'Clear the buffer Response.Buffer = True Response.Clear 'Create stream Set s = Server.CreateObject("ADODB.Stream") s.Open 'Set as binary s.Type = 1 'Load in the file on error resume next 'Check the file exists Set fso = Server.CreateObject("Scripting.FileSystemObject") if not fso.FileExists(strFilename) then Response.Write("<p><strong>Page Error </strong></p>") Response.End end if 'Get length of file Set f = fso.GetFile(strFilename) intFilelength = f.size s.LoadFromFile(strFilename) if err then Response.Write("<p><strong>Page Error </strong></p>") Response.End end if 'Send the headers to the users browser Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name Response.AddHeader "Content-Length", intFilelength Response.CharSet = "UTF-8" Response.ContentType = "application/octet-stream" 'Output the file to the browser Response.BinaryWrite s.Read Response.Flush 'Tidy up s.Close Set s = Nothing End Function %> </body> </html>
|
一共有 0 条评论