ColdFusion 允许用户下载 CSV 文件

ColdFusion allow user to download CSV file

我试图让用户从应用程序下载 CSV 文件。我在谷歌上搜索了很多,几乎所有的冷聚变问题我都找不到。这是我正在尝试的:

<cfset yourFileName="\10.21.2.187\devintranet\WebSite\Audit_Web\AuditWeb\temp\file.csv">
<cffile action="read" file="#yourFileName#" variable="myFile">

<cfheader name="content-disposition" value="attachment; filename=#listLast(myFile, "\")# />
<cfcontent type="application/msexcel" variable="#myFile#" reset="true" />

这是正确的文件路径:

temp/file.csv

这是文件名:

现在我收到错误:403 禁止。 我不知道什么是错的,什么是对的。我只是使用我在网上找到的代码。任何建议都将不胜感激。

确定要下载的文件:

<cfset yourFileName="\10.21.2.187\devintranet\WebSite\Audit_Web\AuditWeb\temp\file.csv">

将文件读入CF变量:

<cffile action="read" file="#yourFileName#" variable="myFile">

使用正确的 MIME 类型和文件名将文件发送到浏览器:

<cfheader name="content-disposition" value="attachment; filename=#listLast(myFile, '\')#" />
<cfcontent type="application/msexcel" variable="#myFile#" reset="true" />

那就不用<cflocation>了,只要文件被推送到浏览器,请求就会结束。

更新: 根据 CFDocstext/csv 是不允许的 type。它应该 允许任何适当的 mime 类型,显然它不允许。检查 link 是否为 type.

的允许值

更新 2: text/csv 很好。 cfheadervalue 属性未正确关闭。必须更改 listLast() 以使用单引号并添加结束双引号。