通过wicket下载zip文件

时间:2011-10-21 15:44:56

标签: wicket

我正在使用wicket框架,我已经通过Java代码制作了一个zip文件,我希望有一个链接来下载它,我不知道是否可能或者我应该通过wicket制作zip文件(但是不是Java)然后有一个下载链接。

1 个答案:

答案 0 :(得分:7)

看看ZipResourceStream。使用此类,您可以动态生成目录的zip内容,并使用org.apache.wicket.markup.html.link.ResourceLinkResourceStreamResource链接到该目录。

File file = new File(path);
IResourceStream resStream = new ZipResourceStream(file);
ResourceStreamResource resource = new ResourceStreamResource(resStream);
ResourceLink link = new ResourceLink("link", resource);
add(link);

或者,如果您希望使用其他工具压缩文件,则可以使用DownloadLink

File zipFile = generateZipFile();
IModel fileModel = new Model(zipFile);
add(new DownloadLink("dllink", fileModel);

如果您希望在Link的onClick中动态生成文件,请查看以下问题:How to use Wicket's DownloadLink with a file generated on the fly?