在Coldfusion中追加文件

在Coldfusion中追加文件,coldfusion,coldfusion-9,Coldfusion,Coldfusion 9,我获取一个Word RTF文件,然后在中替换数据,然后将其写入一个特定文件夹,并将requestID附加到文件名。那部分效果很好。但是,如果有多个记录,我的客户还希望能够打印smae时生成的每个word文档 为此,我正在读取同一个RTF文件,替换其中的数据,然后写入一个单独的文件,我试图在循环中附加该文件,但它不起作用。我只得到一条查询记录 <cfloop query="checklistData"> <cffile action="read"

我获取一个Word RTF文件,然后在中替换数据,然后将其写入一个特定文件夹,并将requestID附加到文件名。那部分效果很好。但是,如果有多个记录,我的客户还希望能够打印smae时生成的每个word文档

为此,我正在读取同一个RTF文件,替换其中的数据,然后写入一个单独的文件,我试图在循环中附加该文件,但它不起作用。我只得到一条查询记录

        <cfloop query="checklistData">

        <cffile action="read" file="#request.filePath#\_reports\fileChecklist.rtf" variable="rtf">

        <cfset rtf = Replace(rtf,"%PROGRAM%",#rqst_activity#)>
        <cfset rtf = Replace(rtf,"%DLA%",#DLA#)>
        <cfset rtf = Replace(rtf,"%SPS%",#SPS#)>
        <cfset rtf = Replace(rtf,"%ECAT%",#ECAT#)>
        <cfset rtf = Replace(rtf,"%MILSTRIP%",#MILSTRIP#)>
        <cfset rtf = Replace(rtf,"%TDPNUM%",#tdp_nbr#)>
        <cfset rtf = Replace(rtf,"%DTRQST%",#DateFormat(dt_tdp_rcvd,'M/DD/YYYY')#)>
        <cfset rtf = Replace(rtf,"%DTCMPT%",#DateFormat(dt_tdp_cmplt,'M/DD/YYYY')#)>
        <cfset rtf = Replace(rtf,"%DTDEL%",#DateFormat(rqsted_delivery_dt,'M/DD/YYYY')#)>
        <cfset rtf = Replace(rtf,"%UIC%",#DoDAAC#)>
        <cfset rtf = Replace(rtf,"%COMMAND%",#COMMAND#)>
        <cfset rtf = Replace(rtf,"%DTPRINT%",#DateFormat(NOW(),'M/DD/YYYY')#)>
        <cfset rtf = Replace(rtf,"%NSN%",#nsn_id_rqsted#)>
        <cfset rtf = Replace(rtf,"%NOMEN%",#nsn_nomenclature#)>


        <cfset directoryCheck = "#request.filePath#\requests\documents\#checklistData.id_rqst#">

        <cfif directoryExists(directoryCheck)>
            <cffile action="write" file="#request.filePath#\requests\documents\#checklistData.id_rqst#\fileChecklist_#checklistData.id_rqst#.doc" output="#rtf#" nameconflict="overwrite">
        <cfelse>
            <cfdirectory action="create" directory="#directoryCheck#">
            <cffile action="write" file="#request.filePath#\requests\documents\#checklistData.id_rqst#\fileChecklist_#checklistData.id_rqst#.doc" output="#rtf#" nameconflict="overwrite">
        </cfif>

        <cffile action="append" file="#request.filePath#\requests\documents\fileChecklistGroup_#ARGUMENTS.groupID#.rtf" output="#rtf#">

    </cfloop>

    <cfif NOT LEN('checklistData.groupID')>
        <cfheader name="content-disposition" value="filename=#request.filePath#\requests\documents\#requestID#\fileChecklist_#requestID#.doc" />  
        <cfcontent type="application/msword" file="#request.filePath#\requests\documents\#requestID#\fileChecklist_#requestID#.doc">
    <cfelse>
        <cfheader name="content-disposition" value="filename=#request.filePath#\requests\documents\fileChecklistGroup_#groupID#.rtf" />  
        <cfcontent type="application/msword" file="#request.filePath#\requests\documents\fileChecklistGroup_#groupID#.rtf">
    </cfif>

    <cfabort>


然后我要求在最后打开文件。提前感谢您的帮助

你的问题不清楚。文本显示“打印所有文档”,但代码用于文件下载。是哪一个?在一个请求中下载多个文件的唯一方法是将文件添加到.zip中,并显示.zip文件以供下载。如果您的意思是将单个rtf文件合并到一个大文件中,那么这并不像将文本连接在一起那么简单。搜索“合并rtf”。不理解CFF文件的含义tag@Leigh谢谢Leigh,我会查看merge rtf。是的,这就是我的意思。对不起,我不清楚。