我们有一个页面正在生成动态内容,并且格式是根据用户的选择输出的。
例如,如果用户选择了 HTML 格式,那么页面将作为 HTML 页面出现。这工作正常以及PDF格式。
挑战在于,如果用户选择 Excel 格式,我们需要将 Excel 文件保存到服务器。
当用户选择 Excel 格式时,文件在 excel 中生成就好了,但是,用户没有将其保存到服务器,而是得到另存为对话框,但是,正如我所提到的,我们需要将文件保存到服务器。
非常感谢任何输入。我们正在使用 CF 2016。
代码示例:
<cfsavecontent variable="Page">
<cfif CompareNoCase(FORM.format,"xls")>
<cfsetting enablecfoutputonly="Yes">
<cfheader name="Content-Disposition" value="attachment;filename=""#VARIABLES.vcFilename#""">
<cfcontent type="application/vnd.msexcel">
<cfif>
<table><tr><td><cfoutput>#somecontent#</cfoutput></td></tr>...</table>
</cfsavecontent>
<cfif CompareNoCase(FORM.format,"xls")>
<cffile
action="write"
destination="d:\somedir\"
file="#VARIABLES.vcFileName#"
output="#Page#"
nameconflict="overwrite">
<cfif>