为了账号安全,请及时绑定邮箱和手机立即绑定

如何正确打开png文件

如何正确打开png文件

慕尼黑5688855 2021-04-02 17:14:51
我正在尝试附加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) {

}

您遇到的唯一问题是,您试图将任意字节表示为字符串。


查看完整回答
反对 回复 2021-04-21
  • 2 回答
  • 0 关注
  • 481 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信