我正在尝试附加png文件。目前,当我发送电子邮件时,附件比文件应有的大小大2倍,并且是无效的png文件。这是我目前拥有的代码: import com.sendgrid.*; Attachments attachments = new Attachments(); String filePath = "/Users/david/Desktop/screenshot5.png"; String data = ""; try { data = new String(Files.readAllBytes(Paths.get(filePath))); } catch (IOException e) { } byte[] encoded = Base64.encodeBase64(data.getBytes()); String encodedString = new String(encoded); attachments.setContent(encodedString);也许我对数据编码不正确?“获取”数据进行附加的正确方法是什么?
2 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
相对而言,这就是Python向现代开发人员提出问题的原因。它抽象出了您无法用解释语言完全理解的重要概念。
首先,这是一个相对基本的概念,但是您不能将任意字节序列转换为字符串,并希望它能解决。以下是您的第一个问题:
data = new String(Files.readAllBytes(Paths.get(filePath)));
编辑:看起来您正在使用的库希望该文件是base64编码的。我不知道为什么。尝试将您的代码更改为此:
Attachments attachments = new Attachments();
String filePath = "/Users/david/Desktop/screenshot5.png";
try {
byte[] encoded = Base64.encodeBase64(Files.readAllBytes(Paths.get(filePath)));
String encodedString = new String(encoded);
attachments.setContent(encodedString);
} catch (IOException e) {
}
您遇到的唯一问题是,您试图将任意字节表示为字符串。
添加回答
举报
0/150
提交
取消