download.asp
来自「绿叶oa系统办公自动化 2008.工作日志管理,文件管理」· ASP 代码 · 共 262 行
ASP
262 行
<%@LANGUAGE="VBSCRIPT"%>
<%
Response.ExpiresAbsolute=now()-1
Response.CacheControl="no-cache"
%>
<%
MM_authorizedUsers=""
MM_authFailedURL="../../index.asp"
MM_grantAccess=false
If Session("userssdfgfhtrh") <> "" Then
If (true Or CStr(Session("MM_UserAuthorization"))="") Or _
(InStr(1,MM_authorizedUsers,Session("MM_UserAuthorization"))>=1) Then
MM_grantAccess = true
End If
End If
If Not MM_grantAccess Then
MM_qsChar = "?"
If (InStr(1,MM_authFailedURL,"?") >= 1) Then MM_qsChar = "&"
MM_referrer = Request.ServerVariables("URL")
if (Len(Request.QueryString()) > 0) Then MM_referrer = MM_referrer & "?" & Request.QueryString()
MM_authFailedURL = MM_authFailedURL & MM_qsChar & "accessdenied=" & Server.URLEncode(MM_referrer)
Response.Redirect(MM_authFailedURL)
End If
%>
<%
if(selcetrealereader_total <> "") then Command1__v = selcetrealereader_total
if(request("id") <> "") then Command1__d = request("id")
%>
<%
if(request("id") <> "") then Command11__varff = request("id")
%>
<% dim u,names,b,id,fname
fname=request("n")
u=Session("userssdfgfhtrh")
names=Session("names")
b=Session("bumen")
id=request("id")
gwid=request("gwid")
%>
<!--#include file="../../Connections/oavbsconn.asp" -->
<%
Dim geturl__MMColParam
geturl__MMColParam = "1"
If (Request("id") <> "") Then
geturl__MMColParam = Request("id")
End If
%>
<%
Dim geturl
Dim geturl_numRows
Set geturl = Server.CreateObject("ADODB.Recordset")
geturl.ActiveConnection = MM_oavbsconn_STRING
geturl.Source = "SELECT 文件路径 FROM 通知附件db WHERE id = " + Replace(geturl__MMColParam, "'", "''") + ""
geturl.CursorType = 0
geturl.CursorLocation = 2
geturl.LockType = 1
geturl.Open()
geturl_numRows = 0
%>
<%if not geturl.eof or not geturl.bof then
dim url
url=geturl("文件路径")
end if
%>
<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If not objFSO.FileExists(Server.MapPath(url)) Then%>
<%
response.write"<script>alert('"&Session("names")&"很抱歉,您要的 "&fname&" 文件在服务器上未找到!')</script>"
%>
<script>
{
history.go(-1)
}
</script>
<%
response.end()
End If%>
<%
geturl.Close()
Set geturl = Nothing
%>
<%dim p,fn%>
<%p=url
fn=mid(url,48)%>
<%dim juti
juti="下载"%>
<%
dim ip
ip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If ip = "" Then ip = Request.ServerVariables("REMOTE_ADDR")
%>
<%
Dim yidu
Dim yidu_numRows
Set yidu = Server.CreateObject("ADODB.Recordset")
yidu.ActiveConnection = MM_oavbsconn_STRING
yidu.Source = "SELECT 文件ID,阅读人帐号,阅读人姓名, 上传人帐号,阅读人部门, 下载IP, 下载时间, 下载日期 FROM 通知附件阅读明细"
yidu.CursorType = 0
yidu.CursorLocation = 3
yidu.LockType = 3
yidu.Open()
yidu.addnew
yidu("文件ID")=id
yidu("阅读人帐号")=session("userssdfgfhtrh")
yidu("阅读人姓名")=session("names")
yidu("阅读人部门")=session("bumen")
yidu("下载ip")=ip
yidu("下载时间")=now()
yidu("下载日期")=date()
yidu("上传人帐号")=u1
yidu.update
session("fdown")="yes"
yidu_numRows = 0
%>
<%
yidu.Close()
Set yidu = Nothing
%>
<%
Dim selcetrealereader__MMColParam
selcetrealereader__MMColParam = "1"
If (Request("ID") <> "") Then
selcetrealereader__MMColParam = Request("ID")
End If
%>
<%
Dim selcetrealereader
Dim selcetrealereader_numRows
Set selcetrealereader = Server.CreateObject("ADODB.Recordset")
selcetrealereader.ActiveConnection = MM_oavbsconn_STRING
selcetrealereader.Source = "SELECT distinct 阅读人帐号 FROM 通知附件阅读明细 WHERE 文件ID = " + Replace(selcetrealereader__MMColParam, "'", "''") + " and 下载ip<>''"
selcetrealereader.CursorType = 0
selcetrealereader.CursorLocation = 2
selcetrealereader.LockType = 1
selcetrealereader.Open()
selcetrealereader_numRows = 0
%>
<%
Dim selcetrealereader_total
Dim selcetrealereader_first
Dim selcetrealereader_last
selcetrealereader_total = selcetrealereader.RecordCount
If (selcetrealereader_numRows < 0) Then
selcetrealereader_numRows = selcetrealereader_total
Elseif (selcetrealereader_numRows = 0) Then
selcetrealereader_numRows = 1
End If
' set the first and last displayed record
selcetrealereader_first = 1
selcetrealereader_last = selcetrealereader_first + selcetrealereader_numRows - 1
' if we have the correct record count, check the other stats
If (selcetrealereader_total <> -1) Then
If (selcetrealereader_first > selcetrealereader_total) Then
selcetrealereader_first = selcetrealereader_total
End If
If (selcetrealereader_last > selcetrealereader_total) Then
selcetrealereader_last = selcetrealereader_total
End If
If (selcetrealereader_numRows > selcetrealereader_total) Then
selcetrealereader_numRows = selcetrealereader_total
End If
End If
%>
<%
' *** Recordset Stats: if we don't know the record count, manually count them
If (selcetrealereader_total = -1) Then
' count the total records by iterating through the recordset
selcetrealereader_total=0
While (Not selcetrealereader.EOF)
selcetrealereader_total = selcetrealereader_total + 1
selcetrealereader.MoveNext
Wend
' reset the cursor to the beginning
If (selcetrealereader.CursorType > 0) Then
selcetrealereader.MoveFirst
Else
selcetrealereader.Requery
End If
' set the number of rows displayed on this page
If (selcetrealereader_numRows < 0 Or selcetrealereader_numRows > selcetrealereader_total) Then
selcetrealereader_numRows = selcetrealereader_total
End If
' set the first and last displayed record
selcetrealereader_first = 1
selcetrealereader_last = selcetrealereader_first + selcetrealereader_numRows - 1
If (selcetrealereader_first > selcetrealereader_total) Then
selcetrealereader_first = selcetrealereader_total
End If
If (selcetrealereader_last > selcetrealereader_total) Then
selcetrealereader_last = selcetrealereader_total
End If
End If
%>
<%
if(selcetrealereader_total <> "") then Command1__v = selcetrealereader_total
if(request("id") <> "") then Command1__d = request("id")
%>
<%
set Command1 = Server.CreateObject("ADODB.Command")
Command1.ActiveConnection = MM_oavbsconn_STRING
Command1.CommandText = "UPDATE 通知附件db SET 下载次数=下载次数+1,下载人数=" + Replace(Command1__v, "'", "''") + " WHERE id=" + Replace(Command1__d, "'", "''") + " "
Command1.CommandType = 1
Command1.CommandTimeout = 0
Command1.Prepared = true
Command1.Execute()
%>
<%
selcetrealereader.Close()
Set selcetrealereader = Nothing
%>
<%
call downloadFile(url)
function downloadFile(strFile)
strFilename = server.MapPath(strFile)
Response.Buffer = True
Response.Clear
Set s = Server.CreateObject("ADODB.Stream")
s.Open
s.Type = 1
on error resume next
Set fso = Server.CreateObject("Scripting.FileSystemObject")
if not fso.FileExists(strFilename) then
Response.Write("<h1>Error:</h1>" & strFilename1 & "文件不存在<p>")
Response.End
end if
Set f = fso.GetFile(strFilename)
intFilelength = f.size
s.LoadFromFile(strFilename)
if err then
Response.Write("<h1>Error: </h1>" & err.Description & "<p>")
Response.End
end if
Response.AddHeader "Content-Disposition", "attachment; filename=" & f.name
Response.AddHeader "Content-Length", intFilelength
Response.CharSet = "UTF-8"
Response.ContentType = "application/octet-stream"
Response.BinaryWrite s.Read
Response.Flush
s.Close
Set s = Nothing
End Function
%>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?