📄 ewgetfile.asp
字号:
<!--##session blobview##-->
<%
<!--## If PROJ.OptionExplicit Then ##-->
Dim sFilter
<!--## End If ##-->
Response.Buffer = True
' Get key
<!--##
For i = 1 to TABLE.Fields.Count
Set KEYFIELD = TABLE.Fields.Seq(i)
If KEYFIELD.FldIsPrimaryKey Then
sFldVar = KEYFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
If PROJ.OptionExplicit Then
##-->
Dim <!--##=sFldVar##-->
<!--##
End If
##-->
<!--##=sFldVar##--> = Request.QueryString("<!--##=sFldVar2##-->")
If <!--##=sFldVar##--> = "" Or IsNull(<!--##=sFldVar##-->) Then Response.End
<!--##
End If
Next
##-->
<!--## If TABLE.TblKey <> "" Then ##-->
' Open Connection to the database
Set conn = Server.CreateObject("ADODB.Connection")
<!--## If InStr(1,DB.DBDBMSName,"ORA",vbTextCompare) > 0 Then ##-->
' For Oracle database, use connection string for BLOB field view instead of DSN
xDb_Conn_Str = xDb_Conn_Str_Ora_Blob
<!--## End If ##-->
conn.Open xDb_Conn_Str
sFilter = ewSqlKeyWhere
<!--##
For i = 1 to TABLE.Fields.Count
Set KEYFIELD = TABLE.Fields.Seq(i)
If KEYFIELD.FldIsPrimaryKey Then
sFldVar = KEYFIELD.FldVar
sFldVar2 = Mid(sFldVar, 3)
If ewGetFieldType(KEYFIELD.FldType) = 1 Then 'Numeric
##-->
If Not IsNumeric(<!--##=sFldVar##-->) Then
sFilter = "0=1" ' prevent sql injection
End If
<!--##
End If
##-->
sFilter = Replace(sFilter, "@<!--##=sFldVar2##-->", AdjustSql(<!--##=sFldVar##-->))
<!--##
End If
Next
##-->
sSql = ewBuildSql(ewSqlSelect, ewSqlWhere, ewSqlGroupBy, ewSqlHaving, ewSqlOrderBy, sFilter, "")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sSql, conn
If Not rs.Eof Then
'rs.MoveFirst
<!--## If FIELD.FileTypeFld <> "" Then ##-->
If rs("<!--##=FIELD.FileTypeFld##-->")&"" <> "" Then
Response.ContentType = rs("<!--##=FIELD.FileTypeFld##-->")
End If
<!--## End If
If FIELD.FileNameFld <> "" Then ##-->
If rs("<!--##=FIELD.FileNameFld##-->")&"" <> "" Then
Response.AddHeader "Content-Disposition", "attachment; filename=""" & rs("<!--##=FIELD.FileNameFld##-->") & """"
End If
<!--## End If
If FIELD.FileSizeFld <> "" Then ##-->
If rs("<!--##=FIELD.FileSizeFld##-->") > 0 Then
Response.BinaryWrite rs("<!--##=FIELD.FldName##-->").GetChunk(rs("<!--##=FIELD.FileSizeFld##-->"))
Else
Response.BinaryWrite rs("<!--##=FIELD.FldName##-->")
End If
<!--## Else ##-->
Response.BinaryWrite rs("<!--##=FIELD.FldName##-->")
<!--## End If ##-->
End If
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
<!--## End If ##-->
%>
<!--##/session##-->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -