【发布时间】:2020-09-09 20:25:17
【问题描述】:
我们有一个页面正在生成动态内容,并根据用户的选择输出格式。
例如,如果用户选择了 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>
【问题讨论】:
-
Cfheader/cfcontent 总是被立即评估。这就是您收到下载提示的原因。如果您不需要下载,请将其删除。
-
谢谢,解决了
标签: excel coldfusion coldfusion-2016 cffile