@Override public ToBodyPartConsumer prepareBodyPart() throws IOException { final ToBodyPartConsumer dataAccessor = new ToBodyPartConsumer(avatar.getContentType()); // The size we provide here must match the dimensions of the embedded avatar image in // jira-components/jira-core/src/main/resources/templates/email/html/includes/header.vm , otherwise // Outlook will rewrite the image and destroy our JIRA metadata needed for JRA-25705 avatarManager.readAvatarData(avatar, MEDIUM, dataAccessor); return dataAccessor; } }
private void sendAvatar(final HttpServletResponse response, final Avatar avatar, AvatarManager.ImageSize size) throws IOException { response.setContentType(avatar.getContentType()); HttpResponseHeaders.cachePrivatelyForAboutOneYear(response); final OutputStream out = response.getOutputStream(); StreamCopyingConsumer streamCopier = new StreamCopyingConsumer(out, AVATAR_BUFFER_SIZE); getAvatarManager().readAvatarData(avatar, size, streamCopier); }
public void sendAvatar(final Avatar avatar, final Avatar.Size size, final HttpServletResponse response) throws IOException { response.setContentType(avatar.getContentType()); HttpResponseHeaders.cachePrivatelyForAboutOneYear(response); final OutputStream out = response.getOutputStream(); StreamCopyingConsumer streamCopier = new StreamCopyingConsumer(out, AVATAR_BUFFER_SIZE); final AvatarManager.ImageSize avatarSize = AvatarManager.ImageSize.fromSize(size); avatarManager.readAvatarData(avatar, avatarSize, streamCopier); } }
RemoteAvatar createRemoteAvatar(final Avatar a, final boolean large, final Base64InputStreamConsumer data) { final long id = a.getId(); final String contentType = a.getContentType(); final String type = a.getAvatarType().getName(); try { if (large) { avatarManager.readAvatarData(a, AvatarManager.ImageSize.LARGE, data); } else { avatarManager.readAvatarData(a, AvatarManager.ImageSize.SMALL, data); } } catch (IOException e) { log.error("Exception trying to get Avatar image data, continuing without it", e); } return new RemoteAvatar(id, contentType, a.getOwner(), a.isSystemAvatar(), type, data.getEncoded()); }