Я пытаюсь отправить встроенное изображение e по почте через java. У меня есть байтовый массив , поэтому я преобразовал байтовый массив в строка с использованием функции ниже.
public static String getImgString(byte[] fileImg) throws IOException {
String imageString = new String(fileImg,"UTF-8");
return imageString;
}
Я получил строку, и эту строку я проверил через преобразователь, отобразил ее и использованное изображение.
Теперь я прикрепил свое изображение к телу mail с кодом ниже.
byte[] arr = getImageFileBytes(); // I got byte[] from this function
DataSource dataSourceImage = new ByteArrayDataSource(getImgString(arr),"image/png"");
MimeBodyPart imageBodyPart = new MimeBodyPart();
imageBodyPart.setDataHandler(new DataHandler(dataSourceImage));
Я получаю электронное письмо, как показано ниже.
Я думаю, что есть какой-то формат, который мне не хватает в преобразовании источника данных, или мне нужно добавить дополнительные данные: image / png; base64 в строку изображения ??
Какие изменения мне нужно сделать, чтобы получить изображение, которое у меня есть в строке.
Заранее спасибо.