如何正确打开png文件

我正在尝试附加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);

也许我对数据编码不正确?“获取”数据进行附加的正确方法是什么?


慕尼黑5688855
浏览 485回答 2
2回答

胡子哥哥

相对而言,这就是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) {}您遇到的唯一问题是,您试图将任意字节表示为字符串。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java