Files
Facilitor/APPL/API2/api_attachments.asp
Jos Groot Lipman 2aa489e0c7 FCLT#Recordsets die niet gesloten zijn beter detecteren
svn path=/Website/trunk/; revision=47235
2020-06-24 15:42:24 +00:00

49 lines
1.9 KiB
Plaintext

<%@ language = "JavaScript" %>
<% /*
$Revision$
$Id$
File: api_attachments.asp
Description: Bijlagen downloader
Parameters:
Context: Geschikt voor een api2 url zoals aangemaakt in FlexFiles.inc/flexProps
Notes: De URL is maar beperkt geldig (720 minuten) en is gekoppeld aan
de user_key waaronder hij is aangemaakt.
Deze API2 is een beetje een vreemde eend in de bijt: er is geen
achterliggend model
*/
DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
THIS_FILE = "appl/api/api_attachments.asp";
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="./api2_rest.inc" -->
<!-- #include file="../shared/FlexFiles.inc" -->
<%
//__DoLog(String(Request.ServerVariables("HTTP_X_ORIGINAL_URL")));
//__DoLog(String(Request.ServerVariables("UNENCODED_URL")));
//__SafeDoLog(__DumpCollection(Request.ServerVariables, "Request.ServerVariables"));
api2_rest.authenticate({});
var orgurl = String(Request.ServerVariables("HTTP_X_ORIGINAL_URL"));
//var orgurl = String(Request.ServerVariables("UNENCODED_URL"));
// FlexFiles.inc/flexProps maakt api2url met een URLencoded filenaam
var orgqs = orgurl.substr(orgurl.indexOf("?")+1);
protectQS.verify( { checkqs: orgqs,
checkpath: Server.URLEncode(getQParam("filename")).replace(/\%2E/g, ".") }); // tamper check
var pKey = getQParamInt("key");
var pNiveau = getQParamSafe("niveau", "");
var pModule = getQParamSafe("module");
var pKenmerk_key = getQParamInt("kenmerk_key", -1);
var pFileName = getQParam("filename");
params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
StreamFile(params.AttachPath, pFileName, "application/octet-stream");
%><% ASPPAGE_END(); %>