public Response downloadFile(String slug, String extension, ServletContext servletContext) { String fileName = slug + "." + extension; LoadedAttachment file = this.attachmentStore.get().findAndLoadBySlugAndExtension(slug, extension); if (file == null) { return Response.status(Response.Status.NOT_FOUND).build(); } return Response.ok(file.getData().getStream(), servletContext.getMimeType(fileName)) .header("Content-disposition", "inline; filename*=utf-8''" + fileName) .build(); }
public Response downloadFile(String tenantSlug, String slug, String extension, ServletContext servletContext) { String fileName = slug + "." + extension; LoadedAttachment file; if (tenantSlug == null) { file = this.attachmentStore.get().findAndLoadBySlugAndExtension(slug, extension); } else { file = this.attachmentStore.get().findAndLoadByTenantAndSlugAndExtension(tenantSlug, slug, extension); } if (file == null) { return Response.status(Response.Status.NOT_FOUND).build(); } return Response.ok(file.getData().getStream(), servletContext.getMimeType(fileName)) .header("Content-disposition", "inline; filename*=utf-8''" + fileName) .build(); } }
public InputStream getImage(Attachment attachment, Dimension dimension) throws IOException { Path imageDirectory = getImageCacheDirectoryPath(attachment); String dimensionFileName = getDimensionFileName(attachment, dimension); File dimensionFile = imageDirectory.resolve(dimensionFileName).toFile(); if (!dimensionFile.isFile()) { LoadedAttachment loadedAttachment = this.attachmentStore.get().findAndLoadById(attachment.getId()); Image image = loadedAttachment.getData().getObject(loadImage, Image.class); RenderedImage scaled; scaled = imageProcessor.scaleImage(image, dimension); ImageIO.write(scaled, attachment.getExtension(), dimensionFile); } return new java.io.FileInputStream(dimensionFile); }
Image image = loadedAttachment.getData().getObject(loadImage, Image.class);
public InputStream getImage(Attachment attachment, Rectangle rectangle) throws IOException { Path imageDirectory = getImageCacheDirectoryPath(attachment); String boxDirectory = getBoxDirectoryName(rectangle); String dimensionFileName = attachment.getSlug() + "." + attachment.getExtension(); File dimensionFile = imageDirectory.resolve(boxDirectory).resolve(dimensionFileName).toFile(); if (!dimensionFile.isFile()) { LoadedAttachment loadedAttachment = this.attachmentStore.get().findAndLoadById(attachment.getId()); Image image = loadedAttachment.getData().getObject(loadImage, Image.class); RenderedImage cropped = imageProcessor.cropImage(image, rectangle); dimensionFile.mkdirs(); ImageIO.write(cropped, attachment.getExtension(), dimensionFile); } return new java.io.FileInputStream(dimensionFile); }
public InputStream getImage(Attachment attachment, Dimension dimension, Rectangle rectangle) throws IOException { Path imageDirectory = getImageCacheDirectoryPath(attachment); String boxDirectory = getBoxDirectoryName(rectangle); String dimensionFileName = getDimensionFileName(attachment, dimension); File dimensionFile = imageDirectory.resolve(boxDirectory).resolve(dimensionFileName).toFile(); if (!dimensionFile.isFile()) { LoadedAttachment loadedAttachment = this.attachmentStore.get().findAndLoadById(attachment.getId()); Image image = loadedAttachment.getData().getObject(loadImage, Image.class); RenderedImage cropped = imageProcessor.cropImage(image, rectangle); RenderedImage scaled = imageProcessor.scaleImage((Image) cropped, dimension); dimensionFile.mkdirs(); ImageIO.write(scaled, attachment.getExtension(), dimensionFile); } return new java.io.FileInputStream(dimensionFile); }
public Optional<Map<String, Object>> extractMetadata(LoadedAttachment attachment) { if (!AttachmentUtils.isImage(attachment)) { return Optional.absent(); } try { Image image = attachment.getData().getObject(new LoadImageFunction(imageProcessor), Image.class); final int imageWidth = image.getWidth(null); final int imageHeight = image.getHeight(null); image.flush(); Map<String, Object> result = new HashMap<String, Object>() { { put("width", imageWidth); put("height", imageHeight); } }; return Optional.of(result); } catch (Exception e) { logger.warn("Failed to extract image dimensions for attachment {} : {} ", attachment.getFilename(), e.getMessage()); return Optional.absent(); } } }
Image image = loadedAttachment.getData().getObject(loadImage, Image.class);
return Response.ok(loadedAttachment.getData().getStream(), servletContext.getMimeType(fileName)) .header("Content-disposition", "inline; filename*=utf-8''" + fileName) .build();
.setData(new AttachmentData(((LoadedAttachment) entity).getData().getStream()));
InputStream data = ((LoadedAttachment)attachment).getData().getStream(); try {