我正在使用wicket框架,我已经通过Java代码制作了一个zip文件,我希望有一个链接来下载它,我不知道是否可能或者我应该通过wicket制作zip文件(但是不是Java)然后有一个下载链接。
答案 0 :(得分:7)
看看ZipResourceStream
。使用此类,您可以动态生成目录的zip内容,并使用org.apache.wicket.markup.html.link.ResourceLink
与ResourceStreamResource
链接到该目录。
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?