我正在尝试使用 Jython 2.5.3 获取附加到电子邮件的图像。我收到了电子邮件(使用 Python imap 库的 Jython 版本)。我可以通过遍历部件来获取附件,使用 get_content_type() 找到正确的部件类型:
image, img_ext = None, None
for part in self.mail.get_payload():
part_type, part_ext = part.get_content_type().split('/')
part_type = part_type.lower().strip()
part_ext = part_ext.lower().strip()
if part_type == 'image':
image = part.get_payload(decode=True)
img_ext = part_ext
return image, img_ext
'image' 作为一大块字节返回,在常规 Python 中,我会直接将其写入文件。但是,当我在 Jython 中尝试相同的操作时,出现以下错误:
TypeError: write(): 1st arg can't be coerced to java.nio.ByteBuffer[], java.nio.ByteBuffer
让 Jython 将我的大数据块识别为字节数组的正确方法是什么?
PS:写代码使用tempfile.mkstmp(),默认写二进制...