繁体   English   中英

解码在Google App Engine上通过电子邮件收到的base64图像

[英]Decoding base64 image received as email on Google App Engine

我想对通过Google App Engine(GAE)电子邮件收到的base64编码图像进行解码。 当我从MimeMessage中提取图像时,我得到一个base64DecoderStream对象。 最初,我假设解码后的数据是ARGB格式的字节数组,但在这里似乎并非如此。 我通过将解码的字节数组与运行“ ImageIO.read(ImageFile).getRGB()”得到的字节数组进行比较来验证这一点,但它们不匹配。

所以我想知道:

1)使用base64解码图像后,我得到了哪些图像格式数据?

2)如何在GAE上获取实际图像PNG或JPG?

3)最后,有没有办法在GAE上以ARGB格式获取接收到的电子邮件图像?

非常感谢任何帮助...谢谢

Base64编码的数据是图像文件本身,而不是解压缩的像素数据。 这是附加到消息的实际文件。 因此,在解码Base64数据之后,在这种情况下,您有了一个二进制PNG文件。

要将其作为图像进行操作,您有几种选择:

  1. 将解码的byte[]直接传递给ImagesServiceFactory.makeImage()
  2. 将已解码的byte[]写入文件,然后调用ImagesServiceFactory.makeImageFromFilename()
  3. 将已解码的byte[]作为Blob存储到数据库中,然后调用ImagesServiceFactory.makeImageFromBlob()

完成此操作后,不幸的是,似乎没有一种简单的方法可以使用Google的内置API获取ARGB数据。 这里讨论的解决方案可能会有所帮助: 在Google Appengine中提取图像像素值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM