java mail Base64 codierte Zeichenkette zum Bildanhang

Ich habe eine Base64-codierte Zeichenfolge, die mit JSON in eine Spring-Form geschrieben wird.

data:image/png;base64,iVBORw0KGg......etc

Ich möchte dieses Bild als Anhang zu einer E-Mail hinzufügen. Das Anhängen der Datei funktioniert einwandfrei, es wird jedoch nur die base64-Zeichenfolge als Anhang hinzugefügt.

Ich verwende den folgenden Code, um das Anbauteil zu erstellen.

private MimeBodyPart addAttachment(final String fileName, final String fileContent) throws MessagingException {

    if (fileName == null || fileContent == null) {
        return null;
    }

    LOG.debug("addAttachment()");

    MimeBodyPart filePart = new MimeBodyPart();

    String data = fileContent;
    DataSource ds;
    ds = new ByteArrayDataSource(data.getBytes(), "image/*");

    // "image/*"
    filePart.setDataHandler(new DataHandler(ds));
    filePart.setFileName(fileName);

    LOG.debug("addAttachment success !");

    return filePart;

}

Ich habe es auch versucht

 ds = new ByteArrayDataSource(data, "image/*");

Wie kann ich den base64-String mit der ByteArrayDataSource in eine richtige Bilddatei konvertieren?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage