[英]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文件。
要将其作为图像进行操作,您有几种选择:
byte[]
直接传递给ImagesServiceFactory.makeImage()
。 byte[]
写入文件,然后调用ImagesServiceFactory.makeImageFromFilename()
。 byte[]
作为Blob
存储到数据库中,然后调用ImagesServiceFactory.makeImageFromBlob()
。 完成此操作后,不幸的是,似乎没有一种简单的方法可以使用Google的内置API获取ARGB数据。 这里讨论的解决方案可能会有所帮助: 在Google Appengine中提取图像像素值 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.