【问题标题】:Download file in coldfusion and read its content在coldfusion中下载文件并阅读其内容
【发布时间】:2010-05-03 18:58:17
【问题描述】:

cfhttp 用 get 下载文件。有没有人有一个例子 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&amp;years_option=specific_years&amp;to_year=2010&amp;from_year=2009&amp;delimiter=comma&amp;output_view&amp;output_format=excelTable 在coldfusion 中提交表单 结果我得到了一个excel文件。我怎样才能把这个文件保存在我的本地盒子上。或者,是否可以使用cfftp或cfhttp通过coldfusion直接读取文件内容而不将其保存在我的本地盒子中?

cfhttp.mimeType 在这种情况下是 application/vnd.ms-excel。 谢谢!!

【问题讨论】:

    标签: coldfusion cfhttp


    【解决方案1】:

    我不确定我是否理解这个问题,但还是让我试试吧:

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

    如果您需要将内容从 CF 推送到客户端,可以使用 cfheader 和 cfcontent 来完成。

    如果这不能回答您的问题,请澄清问题。

    【讨论】:

    • 实际上我没有得到任何数据,我得到的是一个 xls 文件。当您在浏览器中复制并粘贴上述网址时,您将获得一个文件。我想保存该文件并阅读它的内容。一旦你明白我的要求,请尝试一下。
    • 您是否尝试在服务器上打开此文件,以便 CF 对其进行操作,或将文件推送到客户端(浏览器)?
    【解决方案2】:

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

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

    如果您没有 CF9,请查看 POI,这是 CF9 用于实现 cfspreadsheet 标记的工具

    【讨论】:

    • 是的,它确实是一个 excel 文件。并且 cfhttp.fileContent 为空。因为在点击上面的 url 后,我们会得到一个 excel 文件来保存或打开。
    • 即使我从浏览器保存文件,它也有 0 个字节。
    • 嘿,谢谢 Leigh.. 实际上那个 excel 文件是空的。这是一个有点错误的网址。很抱歉浪费了大家的时间。
    • 好吧,很高兴你发现了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-14
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 2013-05-19
    相关资源
    最近更新 更多