Coldfusion下载文件

时间:2017-03-09 22:54:12

标签: javascript ajax coldfusion cfml coldfusion-11

我想通过调用coldfusion函数的ajax get request下载文件,但问题是" network"开发工具中的标签我可以"看"内容,但它没有下载。

这是我的coldfusion函数,它存储在cfc:

<cffunction name="download" access="remote" output="true">
    <cfset file_name = "Test.xlsx">
    <cfheader name='Content-Disposition' value='attachment; filename=#file_name#' charset='utf-8'> 
    <cfcontent type="application/msexcel" file="#file_name#" deletefile="false">
</cffunction>

这是我的ajax电话:

<script>
        $.ajax({
            method: "GET",
            url: "ses/dev.cfc",
            data: {
                method: 'download'
            },
            cache: false,
            success: function(data) {
                console.log("Downloaded");
            },
            error: 'Not downloaded'
        });
    </script>

这是我的结果: http://imgur.com/FmPhlKx

1 个答案:

答案 0 :(得分:1)

我认为你应该在Ajax中删除下载功能,然后将其移到不同的进程中...也许在不同的URL上调用它:

http://websiteurl.com/download.php?file=xxxxx&sec_string=xxxxxx

我希望这是有道理的:)