Простой способ преобразовать изображение в представление Base64 в любом формате:
private static String toBase64(BufferedImage image, String formatName) throws IOException {
ByteArrayOutputStream bytes = new ByteArrayOutputStream(1024 * 1024);
if (!ImageIO.write(image, formatName, bytes)) {
throw new IIOException("Error writing " + formatName);
}
return Base64.getEncoder().encodeToString(bytes.toByteArray());
}
Для вашего конкретного случая используйте:
String encoded = toBase64(image, "TIFF");