@Override public Result<TemporaryAvatarBean> cropTemporary(String ownerId, Avatar.Type type, Selection selection) { if (!isAllowedToPickAvatar(ownerId, type)) { return new Result<TemporaryAvatarBean>().addError(null, ErrorCollection.Reason.FORBIDDEN); } TemporaryAvatar temporaryAvatar = (TemporaryAvatar) ExecutingHttpRequest.get().getSession() .getAttribute(SessionKeys.TEMP_AVATAR); if (temporaryAvatar == null) { return new Result<TemporaryAvatarBean>().addError(getText("avatarpicker.upload.failure"), ErrorCollection.Reason.SERVER_ERROR); } TemporaryAvatar croppedAvatar = new TemporaryAvatar(temporaryAvatar.getContentType(), temporaryAvatar.getTemporaryContentType(), temporaryAvatar.getOriginalFilename(), temporaryAvatar.getFile(), selection); ExecutingHttpRequest.get().getSession().setAttribute(SessionKeys.TEMP_AVATAR, croppedAvatar); return new Result<TemporaryAvatarBean>(new TemporaryAvatarBean(getTemporaryAvatarUrl(), selection)); }
final TemporaryAvatar temporaryAvatar = temporaryAvatars.getCurrentTemporaryAvatar(); if (temporaryAvatar == null || !temporaryAvatar.getFile().exists()) response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-control", "no-cache, must-revalidate"); response.setContentType(temporaryAvatar.getTemporaryContentType()); final OutputStream out = response.getOutputStream(); boolean bytesWritten = false; if ("true".equalsIgnoreCase(request.getParameter(PARAM_CROPPED)) && temporaryAvatar.getSelection() != null) RenderedImage image = scaler.getSelectedImageData(ImageIO.read(new FileInputStream(temporaryAvatar.getFile())), temporaryAvatar.getSelection(), size.getPixels()); ImageIO.write(image, AvatarManager.AVATAR_IMAGE_FORMAT_FULL.getName(), out); IOUtil.copy(new FileInputStream(temporaryAvatar.getFile()), out, BUFFER_SIZE);
private Avatar getAvatar(final TemporaryAvatar temporaryAvatar, final Avatar.Type type, final String ownerId) { return AvatarImpl.createCustomAvatar(temporaryAvatar.getOriginalFilename(), temporaryAvatar.getTemporaryContentType(), ownerId, type); }
validationResult.getSize()); final TemporaryAvatar temporaryAvatar = new TemporaryAvatar( validationResult.getContentType(), uploadedAvatar.getContentType(),
@Override public void dispose(TemporaryAvatar avatar) { avatar.getFile().delete(); final HttpSession session = ExecutingHttpRequest.get().getSession(); session.removeAttribute(SessionKeys.TEMP_AVATAR); } }
final InputStream imageDataStream = temporaryAvatar.getImageData(); try
filePart.getContentType()); final TemporaryAvatar temporaryAvatar = new TemporaryAvatar( validationResult.getContentType(), uploadedAvatar.getContentType(),
newAvatar = avatarManager.create(newAvatar, new FileInputStream(temporaryAvatar.getFile()), selection); if (temporaryAvatar.getFile().delete()) log.debug("Deleted temporary avatar file " + temporaryAvatar.getFile().getAbsolutePath()); log.info("Couldn't delete temporary avatar file. Will retry on shutdown. " + temporaryAvatar.getFile().getAbsolutePath());
TemporaryAvatar tempAvatar = new TemporaryAvatar(contentType, temporaryContentType, fileName, scaledFile.getResult(), null); ExecutingHttpRequest.get().getSession().setAttribute(SessionKeys.TEMP_AVATAR, tempAvatar);