Java 电子邮件附件中未正确解码Base64编码pdf文件流字节数组
我需要发送AWS s3文件作为电子邮件附件在Base64编码。因此,在流中读取和写入文件内容,在Base64中对每个字节数组进行编码 附件可以使用文本文件,但不能使用pdf文件正确解码 下面是要写入outputStream的示例代码。读取3个字节的文件内容以进行正确的Base64编码和解码Java 电子邮件附件中未正确解码Base64编码pdf文件流字节数组,java,pdf,amazon-s3,base64,Java,Pdf,Amazon S3,Base64,我需要发送AWS s3文件作为电子邮件附件在Base64编码。因此,在流中读取和写入文件内容,在Base64中对每个字节数组进行编码 附件可以使用文本文件,但不能使用pdf文件正确解码 下面是要写入outputStream的示例代码。读取3个字节的文件内容以进行正确的Base64编码和解码 byte[] bbuf = new byte[3]; while ((input = in.read(bbuf)) != -1) { // Url ByteArrayO
byte[] bbuf = new byte[3];
while ((input = in.read(bbuf)) != -1)
{
// Url ByteArrayOutputstream
wr.write(Base64Encoder.encode(bbuf).getBytes());
wr.flush();
// Also writing to File locally to know received content
fs.write(bbuf, 0, input);
fs.flush();
}
我尝试了这个方法,在写入文件时效果很好,但没有使用Base64编码的电子邮件附件
我还尝试只编码0输入字节数组并写入这些编码字节,但也失败了
请帮帮我
感谢有关Base64Encoder pls和wr变量的更多详细信息。您好,我使用了Apache编解码器Base64,org.Apache.commons.codec.binary.Base64.encodeBase64bbuf,结果没有什么不同。wr是URLConnection conn=url.openConnection;ByteArrayOutputStream wr=ByteArrayOutputStreamconn.getOutputStream;我会在我的一个应用程序中发布我的解决方案。我记得我遇到了一些与图像编码相关的问题,它实际上与字节缓冲区有关,Base64编码不能很好地记住问题本身Base64.encodeBase64StringIOUtils.toByteArrayitem.getInputStream;我建议您使用一些在线编码工具,并在编码字符串相同时进行检查。