2014-01-27 4 views
1

У меня есть страница cfm, которая генерирует несколько объектов электронных таблиц, прямо сейчас, если я пытаюсь отправить файлы для загрузки, только последний сгенерированный файл электронной таблицы отправляется как загрузка.Создайте несколько файлов, добавьте их в zip, а затем отправьте zip в качестве загрузки файла.

Есть ли способ записать эти файлы в zip и отправить zip-файл в качестве загрузки?

Это моя существующая логика:

for(VARIABLES.fileNumber = 0; VARIABLES.fileNumber < VARIABLES.maxFiles; VARIABLES.fileNumber = VARIABLES.fileNumber + 1) 
{ 
    /* code to create Spreadsheet here */ 




    VARIABLES.context = getPageContext(); 
    VARIABLES.context.setFlushOutput(true); 

    VARIABLES.response = VARIABLES.context.getResponse().getResponse(); 
    VARIABLES.response.reset(); 
    VARIABLES.response.setContentType("application/msexcel"); 
    VARIABLES.response.setContentLength(len(SpreadsheetReadBinary(VARIABLES.suppItemSpreadSheetObj)));  
    VARIABLES.response.setHeader("Content-Disposition","attachment;filename=MyComplianceStatusFile#VARIABLES.fileNumber#Of#VARIABLES.maxFiles#.xls"); 

    VARIABLES.out = response.getOutputStream();  
    VARIABLES.out.write(SpreadsheetReadBinary(VARIABLES.suppItemSpreadSheetObj));  


    VARIABLES.out.flush();  
    VARIABLES.out.close(); 
    } 

Теперь, таким образом, я получаю только последнюю таблицу, которая была создана. Есть ли способ получить все электронные таблицы, которые генерируются, может быть один за другим или может быть в zip-файле?

+2

Как и в сторону, что подход для загрузки одного файла является более типичным. JSP. Стандартный (более простой) подход в CF заключается в использовании ['cfcontent'] (https://learn.adobe.com/wiki/display/coldfusionen/cfcontent). Если вы новичок в CF, я бы предложил взглянуть на [теги по функциям] (http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec17576-7ffc.html) и [функции по категориям ] (http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec1a60c-7ffc.html). Сначала взгляните на такие вопросы. – Leigh

ответ

5

Да Есть: <cfzip>. Там это пример использования в документации, но я Репрографический здесь, так что я не получаю хлопнул по сути говоря «RTFM»:

<!--- This example shows how to zip the directory "c:\temp" into the ZIP file "e:\work\abc.zip". ---> 
<cfzip file="e:\work\abc.zip" source="c:\temp"> 

<!--- This example shows how to zip all the class files in a directory and add a subdirectory named "classes" to the JAR file entry name. ---> 
<cfzip file="e:\work\util.jar" action="zip" source="c:\src\util\" prefix="classes" filter="*.class"> 

<!---This example shows how to zip all of the log files in the ColdFusion directory and create a subdirectory called exception where zipped files are archived. 
<cfzip file="c:\zipTest\log2.zip" action="zip" source="c:\ColdFusion\" prefix="exception" filter="*.log"> 

<!--- This example shows how to overwrite all of the content of a ZIP file with the entries specified in the source. ---> 
<cfzip file="c:\currentApp.zip" source="c:\myApp\work" overwrite="yes"> 
+3

Там вы снова забираете людей с ложкой. –

+0

Я знаю, извините. Меня тошнит от «Oh FFS, JFGI». –

+0

Я думаю, прежде чем кто-нибудь начнет даже писать одну строку ColdFusion, они ДОЛЖНЫ быть представлены в документах. Или еще лучше, Google. – fyroc

 Смежные вопросы

  • Нет связанных вопросов^_^