【发布时间】:2014-05-09 17:47:15
【问题描述】:
我试图使用 Mandrill Wrapper for Java 在电子邮件中附加文件。这是我处理附件文件的一段代码。
public byte[] attachmentContent(String filepath)
{
Path path = Paths.get(filepath);
byte[] data = null;
try {
data = Files.readAllBytes(path);
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
//adding attachment
ArrayList<MandrillAttachment> attachedFiles = new ArrayList<MandrillAttachment>();
//file 1
String attType = "application/pdf";
String attName = "Indian License.pdf";
String attContent = Base64.encodeBase64URLSafeString(attachmentContent("C:\\LL Indian License.pdf"));
System.out.println(attContent);
//attach
attachedFiles.add(new MandrillAttachment(attType, attName, attContent));
message.setAttachments(attachedFiles);
但是,文件在发送过程中不断损坏。关于如何解决这个问题的任何想法?
【问题讨论】:
-
您如何知道文件已损坏?可以举个例子吗?
-
我使用的是 wokring pdf 文件(也就是说,我可以打开并阅读它)。但是,在我通过电子邮件发送后,使用我编写的代码,我无法打开 pdf 文件。当我尝试打开时,它说文件“已损坏”
-
是的,但它看起来怎么样?也许它用base64编码了两次......你能发布一个片段吗?
-
好吧,我刚刚在 Adobe Reader 上打开它并显示“打开此文档时出错。文件已损坏,无法修复”
-
然后在文本编辑器中打开它,比如记事本。
标签: java email pdf mailchimp mandrill