我可以在服务器中使用GET从静态检索文件

时间:2014-07-03 12:00:12

标签: rest coldfusion

我可以使用get请求返回文件吗?我想通过REST GET方法返回一个word文档来调用angularJS服务。不确定它是否可能。

2 个答案:

答案 0 :(得分:2)

你对细节有点了解,所以我的答案会有点轻松。

REST请求只是一个请求。事情的REST方面更像是定义URL的方式,它实际上发生在请求进程本身,这仍然是vanilla HTTP。

因此,与任何GET请求相同,如果要返回二进制数据,请相应地设置标题(<cfheader>),然后返回文件(<cfcontent>)。

答案 1 :(得分:1)

所以我就是这样做的,幸运的是我得到了这个: http://smithcustomdev.com/2010/10/20/download-file-to-browser-using-cfscript/ 我所要做的就是使方法远程并听取REST服务

<cfscript>
    private void function serveFile(string filePath){
        var fileContent = fileRead(expandPath(filePath));   

        var context = getPageContext();
        context.setFlushOutput(false); 

        var response = context.getResponse().getResponse();
        response.reset();
        response.setContentType("text/csv");   
        response.setContentLength(len(fileContent));       
        response.setHeader("Content-Disposition","attachment; filename=#listLast(filePath,'\')#");

        var out = response.getOutputStream();     
        out.write(ToBinary(ToBase64(fileContent)));       
        out.flush();       
        out.close();
    }
</cfscript>