在coldfusion中下载文件并阅读其内容

时间:2010-05-03 18:58:17

标签: coldfusion cfhttp

cfhttp用来下载文件。有没有人有一个例子 cfhttp工作?是否需要在服务器端设置特殊设置才能使此标记生效。当我尝试以下代码时:

<CFHTTP
    METHOD = "get"
    URL="http://data.bls.gov/PDQ/servlet/SurveyOutputServlet?series_id=LNU04032231&years_option=specific_years&to_year=2010&from_year=2009&delimiter=comma&output_view&output_format=excelTable"
    path="/Users/Deepak" 
    file="testfile.xls">

什么都没有回到我的电脑上?如何让它弹出“你想在哪里保存文件框”对话框?

我通过点击此链接http://data.bls.gov/PDQ/servlet/SurveyOutputServlet?series_id=LNU04032231&years_option=specific_years&to_year=2010&from_year=2009&delimiter=comma&output_view&output_format=excelTable在coldfusion中提交表单 我得到了一个excel文件。如何将此文件保存在本地框中。或者,是否可以通过使用cfftp或cfhttp的coldfusion直接读取文件内容而不将其保存在我的本地框中?

在这种情况下,

cfhttp.mimeType是application / vnd.ms-excel。 谢谢!

2 个答案:

答案 0 :(得分:1)

我不确定我理解这个问题,但是让我尝试一下:

使用cfhttp,您可以将表单变量提交到URL,并获取数据。从那里,你可以保存它,在内存中操纵它,或者其他什么。

如果您需要从CF推送内容到客户端,您可以使用cfheader和cfcontent来执行此操作。

如果这不符合您的要求,请澄清问题。

答案 1 :(得分:0)

手动运行一次以查看它是否真的是excel文件或带有“xls”扩展名的HMTL文件,这是一个常见的技巧。如果它是HTML,那么阅读会很痛苦。

如果是Binary,则使用带有“file”和“path”属性的CFHTTP将文件下载到服务器。然后,您可以使用cfspreadsheet(CF9)来读取excel二进制文件。

如果您没有CF9,请查看POI这是CF9用于实施cfspreadsheet标签的内容