Update of /var/cvs/applications/resources/src/org/mmbase/servlet
In directory james.mmbase.org:/tmp/cvs-serv2732

Modified Files:
        HandleServlet.java ImageServlet.java 
Log Message:
MMB-1715


See also: 
http://cvs.mmbase.org/viewcvs/applications/resources/src/org/mmbase/servlet
See also: http://www.mmbase.org/jira/browse/MMB-1715


Index: HandleServlet.java
===================================================================
RCS file: 
/var/cvs/applications/resources/src/org/mmbase/servlet/HandleServlet.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- HandleServlet.java  25 Sep 2007 12:29:54 -0000      1.1
+++ HandleServlet.java  3 Sep 2008 17:18:05 -0000       1.2
@@ -27,7 +27,7 @@
  * specialized servlets. The mime-type is always application/x-binary, forcing 
the browser to
  * download.
  *
- * @version $Id: HandleServlet.java,v 1.1 2007/09/25 12:29:54 michiel Exp $
+ * @version $Id: HandleServlet.java,v 1.2 2008/09/03 17:18:05 michiel Exp $
  * @author Michiel Meeuwissen
  * @since  MMBase-1.6
  * @see ImageServlet
@@ -131,17 +131,25 @@
     }
 
     /**
-     * Sets the content disposition header.
-     * @return true on success
+     * @since MMBase-1.9
      */
-    protected boolean setContent(QueryParts query, Node node, String mimeType) 
throws IOException {
-        String disposition;
+    protected String getContentDisposition(QueryParts query, Node node, String 
def) {
         String fileNamePart = query.getFileName();
         if(fileNamePart != null && fileNamePart.startsWith("/inline/")) {
-            disposition = "inline";
+            return "inline";
         } else {
-            disposition = "attachment";
+            String cd = 
node.getNodeManager().getProperty("Content-Disposition");
+            return cd == null ? def : cd;
         }
+    }
+
+
+    /**
+     * Sets the content disposition header.
+     * @return true on success
+     */
+    protected boolean setContent(QueryParts query, Node node, String mimeType) 
throws IOException {
+        String disposition = getContentDisposition(query, node, "attachment");
         query.getResponse().setHeader("Content-Disposition", disposition + "; 
filename=\""  + getFileName(node, null, "mmbase-attachment")+ "\"");
         //res.setHeader("X-MMBase-1", "Not sending Content-Disposition because 
this might confuse Microsoft Internet Explorer");
         return true;


Index: ImageServlet.java
===================================================================
RCS file: 
/var/cvs/applications/resources/src/org/mmbase/servlet/ImageServlet.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- ImageServlet.java   7 Aug 2007 08:11:59 -0000       1.3
+++ ImageServlet.java   3 Sep 2008 17:18:05 -0000       1.4
@@ -29,7 +29,7 @@
  * images), which you have to create yourself before calling this servlet. The 
cache() function of
  * Images can be used for this. An URL can be gotten with cachepath().
  *
- * @version $Id: ImageServlet.java,v 1.3 2007/08/07 08:11:59 michiel Exp $
+ * @version $Id: ImageServlet.java,v 1.4 2008/09/03 17:18:05 michiel Exp $
  * @author Michiel Meeuwissen
  * @since  MMBase-1.6
  * @see    org.mmbase.module.builders.AbstractImages
@@ -101,8 +101,8 @@
         } else { // 'images', but as you see this is not explicit, so you can 
also name your image builder otherwise.
             originalNode = node;
         }
-
-        query.getResponse().setHeader("Content-Disposition", "inline; 
filename=\"" + getFileName(node, originalNode, "mmbase-image")+ "\"");
+        String disposition = getContentDisposition(query, node, "inline");
+        query.getResponse().setHeader("Content-Disposition", disposition + "; 
filename=\"" + getFileName(node, originalNode, "mmbase-image")+ "\"");
         return true;
     }
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to