使用Codname,如何在电子邮件中添加多个附件

时间:2016-01-28 22:05:50

标签: java mobile codenameone

我正在开发一款应用程序,我希望能够将多个图像附加到电子邮件中。我正在使用Message类。 我使用setAttachment()函数使用单个附件使其工作正常。

然而,当我试图附上多封电子邮件时,我碰壁了 查看源代码中的注释似乎函数getAttachments()应该允许添加多个附件。 但是,在Message类中的任何其他地方似乎都没有准备好地图 我可以将所有图像上传到服务器,只需将它们链接到电子邮件中,但我希望尽可能将其自包含。
另一种选择是将所有图像压缩成文件并附加。但似乎我们只能压缩到tar球,这对大多数最终用户来说并不是那么有用。

最好的解决方案是多个附件,是否可以使用Message? 我必须要子类吗?

以下是我在代码中尝试的内容:

Message message = new Message("" + currentReport.getField("Title") + "\n\n" + currentReport.getField("Comment"));
        java.util.List<ReportImage> images = currentReport.getField("Images");
        Map<String,String> attachements = message.getAttachments();
        for(ReportImage img: images){
            if (img != null && img.getField("Path") != null) {
                String path = img.getField("Path");
                attachements.put(path, path.toLowerCase().endsWith("png") ? Message.MIME_IMAGE_PNG : Message.MIME_IMAGE_JPG);
            }
        }
        String[] sendTo = {""};
        Message.sendMessage(sendTo, "Error Report " + sdf.format(new Date()), message);

1 个答案:

答案 0 :(得分:1)

您编写的代码应该有效,但您应该注意到这应该是使用FileSystemStorage而不是Storage类的文件的路径。

这在文档中并不清楚,我稍微澄清了下一次文档更新。