Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coldfusion-允许用户选择保存生成的csv文件的位置_Coldfusion_File Storage - Fatal编程技术网

Coldfusion-允许用户选择保存生成的csv文件的位置

Coldfusion-允许用户选择保存生成的csv文件的位置,coldfusion,file-storage,Coldfusion,File Storage,多亏了你的提示和Ben Nadel的QueryToCSV解决方案,我现在能够从我的查询中生成CSV文件。但是,我希望允许用户选择保存生成的文件的位置。文件指出: 下面的标记可以强制大多数浏览器显示一个询问用户的对话框 是否要保存cfcontent标记指定的文件内容 使用文件名值指定的文件名。如果用户选择打开 大多数浏览器在相关应用程序中打开文件,而不是在浏览器中打开文件 窗户 <cfheader name="Content-Disposition" value="attachment; f

多亏了你的提示和Ben Nadel的QueryToCSV解决方案,我现在能够从我的查询中生成CSV文件。但是,我希望允许用户选择保存生成的文件的位置。文件指出:

下面的标记可以强制大多数浏览器显示一个询问用户的对话框 是否要保存cfcontent标记指定的文件内容 使用文件名值指定的文件名。如果用户选择打开 大多数浏览器在相关应用程序中打开文件,而不是在浏览器中打开文件 窗户

<cfheader name="Content-Disposition" value="attachment; filename=filename.ext">

这适用于PDF文件,但我无法使其适用于CSV文件。目前,我正在先将文件写入临时文件,然后调用cfcontent,然后调用cfheader:

<cffile
  action="WRITE"
  file="#filename#"
  output="#CSVString#"
/>

<cfcontent file="#filename#" type="text/plain" >
<cfheader name="Content-Disposition" value="attachment; filename=#filename#">


其工作原理是将文件写入临时目录,然后写入浏览器窗口;但是我不知道如何允许用户选择保存位置。

尝试
text/csv
而不是
text/plain
来保存您的内容类型

浏览器将假定纯文本可以/应该显示在屏幕上,而他们(应该)询问用户如何处理CSV数据。

翻转它们:

<cfheader name="Content-Disposition" value="attachment; filename=#filename#">
<cfcontent file="#filename#" type="text/plain">


此外,根据上面的代码,您不希望在两个位置都使用#filename#变量,因为#filename#是
标记的输出目标,这意味着绝对完整路径(即C:\temp\mycsvfile.csv),这不是您在内容处置标题中想要的内容--您想要的是文件名本身…“mycsvfile.csv”。您可能需要为其提供第二个变量。

D'oh-不知道这是一个选项-ColdFusion Builder没有将其列为一个变量,也没有在文档中看到它。这确实给了我一个提示,但我无法选择保存位置或文件名称-我的选项是“用[select]打开”、“保存文件”和“取消”。没有其他选项。这是一个浏览器设置-你需要找到与下载相关的选项,并将其设置为“每次询问我”(或类似),然后“保存文件”选项将允许你这样做。啊,我当时大脑冻结了。了解可用的mime类型(而不依赖于CF Builder)会很有帮助:好的,谢谢,明白了。文件仍会保存到下载文件夹-是否无法更改保存位置?