getrequestcycle().setrequesttarget(new irequesttarget() { respond(response r) { outputstream out=r.getoutputstream(); stream your date into out; }}}
-igor On Dec 11, 2007 2:52 PM, Gabor Szokoli <[EMAIL PROTECTED]> wrote: > I guess I forgot to mentionthe single most important aspect of my question: > The archive not present on the file system, it is dynamically > assembled on the fly from individual files. > (the whole point is downloading multiple files in one go.) > > > Gabor Szokoli > > > On Dec 11, 2007 11:45 PM, Jeremy Levy <[EMAIL PROTECTED]> wrote: > > Gabor, > > > > Try DownloadLink > > http://wicket.sourceforge.net/apidocs/wicket/markup/html/link/DownloadLink.html > > > > J > > > > > > On Dec 11, 2007 5:39 PM, Gabor Szokoli <[EMAIL PROTECTED]> wrote: > > > > > Hi there, > > > > > > The downside of an easy-to-use framework is the influx of users with > > > little understanding of the underlying servlet technology, like me. > > > Observe: > > > > > > I'd like to provide a ZIP file (could be TAR, anything Windows PCs can > > > save and later extract from) as a download, one that is potentially > > > too big to be kept in memory in full. > > > So I guess I'd need to "stream" it in chunks, or as a java stream or > > > channel. > > > Can I do that from wicket? > > > Or does the servlet interface require a fully assembled response in > > > memory? > > > > > > Currently I assemble the ZIP file in a byte array in full, but it > > > feels awkward. Would extending WebResource fit the bill? > > > > > > ByteArrayOutputStream bout = new > > > ByteArrayOutputStream(); > > > ZipOutputStream zout = new ZipOutputStream(bout); > > > // Add entries > > > zout.finish(); > > > zout.close(); > > > > > > Resource resource = new > > > ByteArrayResource("application/zip", > > > bout.toByteArray()); > > > ResourceStreamRequestTarget target = new > > > ResourceStreamRequestTarget(resource.getResourceStream()); > > > target.setFileName(new > > > SimpleDateFormat("yyyyMMddHHmmss").format(Calendar.getInstance > > > ().getTime()) > > > + ".zip"); > > > getRequestCycle().setRequestTarget(target); > > > > > > > > > All suggestions are welcome. > > > > > > > > > Gabor Szokoli > > > > > > --------------------------------------------------------------------- > > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]