r889 - in trunk/src/main/java/org/ourproject/kune: app/public docs/client platf/server/manager/impl workspace/client/skel
Author: vjrj Date: 2008-09-27 15:01:41 +0200 (Sat, 27 Sep 2008) New Revision: 889 Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileDownloadManager.java trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java Log: Download in hidden iframe instead of Window.open. Download of images and/or inline show with &download=true|false param Modified: trunk/src/main/java/org/ourproject/kune/app/public/Kune.html =================================================================== --- trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-09-27 11:14:37 UTC (rev 888) +++ trunk/src/main/java/org/ourproject/kune/app/public/Kune.html 2008-09-27 13:01:41 UTC (rev 889) @@ -47,6 +47,7 @@ <script type="text/javascript" language="javascript" src="org.ourproject.kune.app.Kune.nocache.js"></script> <iframe id="__gwt_historyFrame" style="width: 0; height: 0; border: 0"></iframe> +<iframe src="" id="__download" style="width:0;height:0;border:0"></iframe> <div id="kuneprogresspanel" class="k-sitebar"> <table cellspacing="0" summary="Starting" cellpadding="0" border="0" style="height: 16px; margin-top: 5px; margin-left: 5px;"> Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-09-27 11:14:37 UTC (rev 888) +++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-09-27 13:01:41 UTC (rev 889) @@ -334,7 +334,8 @@ } private void downloadContent(final StateToken token) { - final String url = "/kune/servlets/FileDownloadManager?token=" + token + "&hash=" + session.getUserHash(); + final String url = "/kune/servlets/FileDownloadManager?token=" + token + "&hash=" + session.getUserHash() + + "&download=true"; ws.openUrl(url); } } Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileDownloadManager.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileDownloadManager.java 2008-09-27 11:14:37 UTC (rev 888) +++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/FileDownloadManager.java 2008-09-27 13:01:41 UTC (rev 889) @@ -63,6 +63,8 @@ final String userHash = req.getParameter("hash"); final StateToken stateToken = new StateToken(req.getParameter("token")); + final String downloadS = req.getParameter("download"); + final boolean download = downloadS != null && downloadS.equals("true") ? true : false; final Content cnt = getContentForDownload(userHash, stateToken); final String absDir = kuneProperties.get(KuneProperties.UPLOAD_LOCATION) + FileUtils.toDir(stateToken); @@ -70,15 +72,16 @@ final String absFilename = absDir + filename; doBuildResp(resp, absFilename, cnt.getTitle(), cnt.getMimeType(), FileUtils - .getFileNameExtension(filename, true)); + .getFileNameExtension(filename, true), download); } private void doBuildResp(final HttpServletResponse resp, final String filename, final String otherName, - final BasicMimeType mimeType, final String extension) throws FileNotFoundException, IOException { + final BasicMimeType mimeType, final String extension, final boolean download) throws FileNotFoundException, + IOException { final File file = new File(filename); resp.setContentLength((int) file.length()); - if (mimeType == null) { + if (mimeType == null || download) { resp.setContentType("application/x-download"); } else if (mimeType.getType().equals("image") || mimeType.toString().equals("text/plain")) { resp.setContentType(mimeType.toString()); Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java =================================================================== --- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2008-09-27 11:14:37 UTC (rev 888) +++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/WorkspaceSkeleton.java 2008-09-27 13:01:41 UTC (rev 889) @@ -5,8 +5,8 @@ import com.calclab.suco.client.listener.Listener0; import com.google.gwt.user.client.Command; +import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.DeferredCommand; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.RootPanel; import com.google.gwt.user.client.ui.Widget; import com.gwtext.client.core.ExtElement; @@ -89,7 +89,8 @@ // window.add(urlFrame); // window.show(); // window.close(); - Window.open(url, "", "_blank"); + // Window.open(url, "", "_blank"); + DOM.setElementAttribute(RootPanel.get("__download").getElement(), "src", url); } public void promptMessage(final String title, final String message, final Listener0 onEnter) {
participants (1)
-
vjrj