如何在浏览器中将cfdocument pdf文件和服务器返回给用户?

时间:2018-12-24 15:53:25

标签: coldfusion coldfusion-10 cfdocument cffunction

我具有将生成cfdocument pdf文件的功能。然后,我想将文档和服务器返回到浏览器。这是生成pdf文件的函数示例。

         

<cftry>
    <cfdocument format="PDF" filename="file.pdf" overwrite="Yes">
        <table>
           <tr>
              <td>Test</td>
           </tr>
        </table>
    </cfdocument>

    <cfset local.fnResults = {file: //Here I'm not sure what I should return}>         

    <cfcatch type="any">
        <cfset local.fnResults = {status : 400, message : "Error! Something went wrong."}>
    </cfcatch>
</cftry>

<cfreturn fnResults>

以上函数应生成文件并以fnResults结构返回PDF。然后在serve.cfm上我有以下逻辑:

<cfset local.Results = genertePDF()>

<cfif structKeyExists(local.Results, "FILEPATH")>
        <cfheader name="content-disposition" value="attachment;filename=#local.Results["FILENAME"]#"/>

        <!---Add the file content to the output stream:--->
        <cfcontent file="#local.Results["FILEPATH"]#" type="application/octet-stream" reset="true"/>

        <!---Exit immediately after adding the file content to avoid corrupting it:--->
        <cfabort/>
    <cfif>

由于我尚未修改所有内容,因此您可以忽略RESULTS的结构。我唯一的问题是弄清楚如何返回cfdocument内容?如果有人知道如何使它工作,请告诉我。谢谢。

1 个答案:

答案 0 :(得分:1)

更改:

<cfheader name="content-disposition" value="attachment;filename=#local.Results["FILENAME"]#"/>

收件人:

<cfheader name="content-disposition" value="inline;filename=#local.Results["FILENAME"]#"/>

Reference