- } catch (Exception e) {
- throw new ServletException("Cannot transform " + path, e);
+ } catch (Exception e) {
+ throw new ServletException("Cannot transform " + path, e);
+ }
+ } else if (node.isNodeType(NodeType.NT_FILE)) {// media download etc.
+ String fileNameLowerCase = node.getName().toLowerCase();
+ if (fileNameLowerCase.endsWith(".jpg") || fileNameLowerCase.endsWith(".jpeg")) {
+ resp.setContentType("image/jpeg");
+ } else if (fileNameLowerCase.endsWith(".png")) {
+ resp.setContentType("image/png");
+ } else if (fileNameLowerCase.endsWith(".gif")) {
+ resp.setContentType("image/gif");
+ } else if (fileNameLowerCase.endsWith(".svg")) {
+ resp.setContentType("image/svg+xml");
+ } else {
+ // TODO know more content types...
+ resp.setHeader("Content-Disposition", "attachment; filename=\"" + node.getName() + "\"");
+ }
+ IOUtils.copy(JcrUtils.getFileAsStream(node), resp.getOutputStream());
+ } else {
+ throw new IllegalArgumentException("Unsupported node " + node);