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