Can you initiate the download *after* your redirect? Otherwise I think you
can have your resource set a session variable when the upload is complete,
and poll for that with AJAX.

Dan

On Wed, Mar 21, 2012 at 10:53 AM, Josh Chappelle <[email protected]>wrote:

> Hi,
>
> I have a Wizard that is inside a BreadCrumbPanel. I have implemented a
> method in the onCancel that goes back to the previous BreadCrumbPanel. This
> is how it is implemented:
>
> List<IBreadCrumbParticipant> participants =
> crumbModel.allBreadCrumbParticipants();
> crumbModel.setActive(participants.get(participants.size() - 2));
>
> This works fine. The problem is in my onFinish. This wizard creates a zip
> file that exports some documents from our system. The code for this is
> below. I would like the onFinish to send the zip file back to the user and
> then return to the previous BreadCrumbPanel. I'm not able to do that with
> the code below. Does anyone have any ideas on how to do this?
>
>
> ResourceStreamRequestHandler target = new ResourceStreamRequestHandler(new
> AbstractResourceStreamWriter()
> {
> public void write(Response response)
> {
> try
> {
> ResponseOutputStream out = new ResponseOutputStream(response);
> ZipOutputStream zip = new ZipOutputStream(out);
> policyService.exportPolicies(zip, policyService.getPolicies());
> zip.close();
> }
> catch(IOException e)
> {
> throw new RuntimeException("Failed to export all policies.", e);
> }
> }
>  @Override
> public String getContentType()
> {
> return "application/zip";
> }
> });
> target.setFileName("All Policies.zip");
>
> getRequestCycle().scheduleRequestHandlerAfterCurrent(target);
> List<IBreadCrumbParticipant> participants =
> crumbModel.allBreadCrumbParticipants();
> crumbModel.setActive(participants.get(participants.size() - 2));
>
>
> I'm using wicket 1.5.4 by the way.
>
> Thanks,
>
> Josh
>

Reply via email to