我使用此代码可以进行多个文件下载:
<cfoutput query="RetrieveFiles">
<a href="downloads/?id=#FileID#">Download #FileName#</a><br>
</cfoutput>
然后使用以下方式发送下载内容:
<cfheader name="content-disposition" value="attachment; filename=#RetrieveFile.FileName#">
<cfcontent file="#RetrieveFile.FileName#">
每次下载都记录在数据库中
<cfquery datasource="#datasource#">
INSERT INTO FileLog
(
FileID
)
VALUES
(
<cfqueryparam value="#RetrieveFile.FileID#" cfsqltype="cf_sql_integer">
)
</cfquery>
除了从iOS设备进行的下载(在我的日志和IIS日志中可以记录每次1000次下载)之外,这一切正常,Hostek告诉我,这是因为'CF2016,IIS10,iOS存在一个已知的错误,以及HTTP / 2。'
我可以禁用HTTP / 2,从而解决了该问题,但是我想知道是否有一种方法可以在ColdFusion端记录每次下载-仅一次-不禁用HTTP / 2?