您对如何从传入消息中提取附件有任何想法吗?我的消息附有PDF。这是我在控制台中看到的:
['contentType':'application/pdf; name="TransakciaMK.pdf"', 'filename':'TransakciaMK.pdf', 'disposition':'attachment', 'contentBytes':'[B@d2d9e15']
我想使用用于上传文件的代码
org.apache.commons.fileupload.FileItem的
到保存文件的服务。
添加了:
行。我一定做错了什么。我使用bodyPartList [2] .contentBytes.getBytes()提取byte []。变为名为 contentFileByte 的变量。
然后:
ByteArrayInputStream fileStream = new ByteArrayInputStream(contentFileByte)
try { docRr.putStream(fileStream) } finally { fileStream.close() }
创建了一个文件,但它只包含:
[B @ d2d9e15
在将字节数组转换为文件流的过程中,某处必定存在错误。
答案 0 :(得分:1)
我不知道这是否有用,您可能已经看过了 - 但在EmailEcaRule.groovy的最后,您可以看到如何使用JavaMail API从电子邮件创建bodyPartList。我认为你需要遍历bodyPartList来检查每个部分的MIME类型,以便知道你是否必须将其视为文本或附件。 - 目前,emeca规则引用的现有服务只是处理它非常简单,仅从bodyPartList [0] .contentText中获取正文。我还没有试过自己提取附件,但是从之前完成的任务开始,我就开始尝试这样做了。