Я пытаюсь преобразовать изображение base64 в файл, который можно увидеть в gmail/outlook. В настоящее время, когда я отправляю электронное письмо с изображением в существующую gmail, изображение исчезает, я вижу весь текст, кроме изображения. Но я могу просмотреть изображение в своей яблочной почте. Я провел некоторое исследование, он говорит, что gmail заблокировал образы base64. Таким образом, единственный способ сделать это - преобразовать изображения base64.Послать email image Bufferedimage/ImageIO
<img alt=3D"" src=3D"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANsA=AABpCAIAAAA848FpAAAF/0lEQVR4nO2c2ZXjOAxFnW5l4VCcWyeADGo+elqmiIXgI......=3D" /></div>
Я изменил свои коды, используя буферизованное изображение/imageIO, но это не имеет значения, когда я отправляю электронное письмо. Что-то не так с этим? Или есть ли другие способы разрешить просмотр изображений base64?
Это мои коды для изображения.
String _message = _n.getRichcontent();
String[] _s = _message.split(",");
String message = _s[1];
System.out.println(_s[1]);
// create a buffered image
BufferedImage image = null;
byte[] imageByte;
BASE64Decoder decoder = new BASE64Decoder();
try {
imageByte = decoder.decodeBuffer(message);
ByteArrayInputStream bis = new ByteArrayInputStream(imageByte);
image = ImageIO.read(bis);
System.out.println("Reading complete.");
bis.close();
// write the image to a file
File outputfile = new File("image.png");
ImageIO.write(image, "png", outputfile);
System.out.println("Writing complete." + outputfile);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("Error: "+e);
}
Это код изображения, который будет размещен в моей электронной почте.
_msg = _msg + _message + "<BR><BR>";
Это должно отправить электронное письмо.
sendMail(_sender, _receipients, _subject, _msg);