From 10dd659d40f5532611066de5e34eda6609c6eb14 Mon Sep 17 00:00:00 2001 From: francesco Date: Fri, 27 Mar 2020 11:44:41 +0100 Subject: [PATCH] Fixing Incident: #18926 for all getSize() --- .../workspace/server/DownloadServlet.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java b/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java index bdc6cdd..df1567c 100644 --- a/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java +++ b/src/main/java/org/gcube/portlets/user/workspace/server/DownloadServlet.java @@ -237,7 +237,15 @@ public class DownloadServlet extends HttpServlet{ resp.setHeader("Content-Disposition", contentDisposition+"; filename=\"" + itemName + "\"" ); resp.setContentType(mimeType); - resp = setContentLength(resp, pdfFile.getSize()); + + //Fixing Incident: 18926, replacing pdfFile.getSize() with ItemStreamDescriptor.getSize() + if(descr.getSize()!=null && descr.getSize()>0) { + resp = setContentLength(resp, descr.getSize()); + } + logger.info("The "+workspaceFileItem.getFileItemType()+" size is: "+descr.getSize()); + + //resp = setContentLength(resp, pdfFile.getSize()); + InputStream is = descr.getStream(); OutputStream out = resp.getOutputStream(); IOUtils.copy(is, out); @@ -263,7 +271,14 @@ public class DownloadServlet extends HttpServlet{ String contentDisposition = viewContent?"inline":"attachment"; resp.setHeader("Content-Disposition", contentDisposition+"; filename=\"" + itemName + "\"" ); resp.setContentType(mimeType); - resp = setContentLength(resp, imageFile.getSize()); + + //Fixing Incident: 18926, replacing imageFile.getSize() with ItemStreamDescriptor.getSize() + if(descr.getSize()!=null && descr.getSize()>0) { + resp = setContentLength(resp, descr.getSize()); + } + logger.info("The "+workspaceFileItem.getFileItemType()+" size is: "+descr.getSize()); + + //resp = setContentLength(resp, imageFile.getSize()); InputStream is = descr.getStream(); OutputStream out = resp.getOutputStream();