Look at ZipStreamOutput class from:
http://code.google.com/p/audao/source/browse/#svn/trunk/modules/embed/src/java/com/spoledge/audao/generator

The usage in GAE or generally in servlets is as simple as following:

private void responseAsZipStream( HttpServletResponse response )
throws IOException {
        // prepare buffers:
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        ZipStreamOutput output = new ZipStreamOutput( bos );

        byte[] buf = new byte[4096];

        // now create the ZIP archive as you want:
        OutputStream os1 = output.addStream( "file1.txt" );
        // write to the output stream 1 , but do not close it -
ZipStreamOutput does it itself:
        os1.write( whatever );
        os1.flush();
        ....
        OutputStream os2 = output.addStream( "file2.txt" );
        // write to the output stream 2 , but do not close it -
ZipStreamOutput does it itself:
        os2.write( whatever );
        os2.flush();
        ....

        // finish the ZIP stream:
        output.finish();

        // now pass it as the HTTP response:
        byte[] data = bos.toByteArray();

        response.setContentType( "application/zip" );
        response.setContentLength( data.length );
        response.setHeader( "Content-Disposition", "inline; filename="
+ "filename.zip");
        response.getOutputStream().write( data );
}

This works on gae - I use it at  audao.spoledge.com

Vaclav

On Sep 15, 3:19 am, Bit Liner <[email protected]> wrote:
> My app creates dinamically two files so that then the users can
> download these files in one zip file.
>
> But i have problem in implementing this operations.
>
> Some suggestion to help me?
> Library, if gae supports this operations, etc.
>
> (i have tried to use gaeVfs, but i have met problems: i cannot write
> the content of a file on the response, so i can download the file but
> its content is empty )

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to