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 + -
显示快捷键?