私はbase64イメージをGmail/Outlookで見ることができるファイルに変換しようとしています。現在、イメージを含むメールを既存のGmailに送信すると、イメージは消え、イメージ以外のすべてのテキストが表示されます。しかし、リンゴのメールで画像を見ることができます。私はいくつかの調査をしました、それはgmailがbase64の画像をブロックしたと言います。だから私ができる唯一の方法は、base64イメージを変換することです。Bufferedimage/ImageIO
<img alt=3D"" src=3D"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANsA=AABpCAIAAAA848FpAAAF/0lEQVR4nO2c2ZXjOAxFnW5l4VCcWyeADGo+elqmiIXgI......=3D" /></div>
バッファードimage/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);