如何解决在liferay serveResource方法中下载压缩文件
在 Liferay 7.2 中,我需要将一些文件放入 zip 并从 serveResource 方法下载 zip 文件。实际上我已经使用 zipwriter 将所有文件放入一个 zip 文件中,我可以在 tomcat/temp 文件夹中看到 zip 文件,但没有下载文件。
HttpServletRequest request = PortalUtil.getHttpServletRequest(resourceRequest);
HttpServletResponse response = PortalUtil.getHttpServletResponse(resourceResponse);
Zipwriter zipwriter = ZipwriterFactoryUtil.getZipwriter();
resourceResponse.setProperty("Content-disposition","attachment; filename=myarchive.zip");
if (!Validator.isBlank(fileIds)) {
for (String fileId : fileIdsArr) {
if (!Validator.isBlank(fileId) && !fileId.equals(OrderConstants.ZERO)) {
DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil
.getDLFileEntry(Long.valueOf(fileId));
File file = DLFileEntryLocalServiceUtil.getFile(dlFileEntry.getFileEntryId(),dlFileEntry.getVersion(),true);
byte[] bytes = FileUtil.getBytes(file);
String fileName = dlFileEntry.getFileName();
zipwriter.addEntry(fileName,bytes);
}
}
byte[] archive = zipwriter.finish();
String contentType = MimeTypesUtil.getContentType("Documents.zip");
ServletResponseUtil.sendFile(request,response,"Documents.zip",archive,contentType);
我尝试过其他方法,如 StreamUtil.transfer.. 但我收到了 java.io.IOException: An established connection was aborted by the software in your host machine
错误
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。