我正在尝试通过base64编码发送文件apache.commons.mail
,但我无法缝接应将Content-Transfer-Encoding: base64
标头放到哪里。
// Create the email
MultiPartEmail email = new MultiPartEmail();
email.setSmtpPort(587);
email.setDebug(false);
email.setHostName("smtp.gmail.com");
email.setAuthentication("from@gmail.com", "password");
email.setTLS(true);
email.addTo("to@example.com");
email.setFrom("from@example.com");
email.setSubject("subject");
email.attach(new ByteArrayDataSource(
Base64.encodeBase64(attachFull.getBytes()), "text/plain"),
"samplefile.txt",
"sample file desc",
EmailAttachment.ATTACHMENT
);
这就是到达接收者的原因。
------=_Part_0_614021571.1334210788719
Content-Type: text/plain; charset=Cp1252; name=texto.txt
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename=samplefile.txt
Content-Description: sample file desc
如何指定文件是Base64编码的?
您可以尝试覆盖该attach
方法并Content- Transfer-Encoding
在其中设置标头。默认情况下,框架不会为您设置它,也不会干净地公开MIME bodyPart。
问题内容: 我正在工作的项目是使用Jackson JSON 序列化程序将一堆Java对象转换为String,以便将它们发送到REST服务。 其中一些对象包含敏感数据,因此我编写了自定义序列化程序以将这些对象序列化为JSON字符串,然后对其进行gzip,然后使用; 对其进行加密。 这会将字符串转换为字节数组,因此我在编解码器中使用Base64编码器将字节数组转换为字符串。REST接口背后的自定义反序
介绍 Base64编码是用64(2的6次方)个ASCII字符来表示256(2的8次方)个ASCII字符,也就是三位二进制数组经过编码后变为四位的ASCII字符显示,长度比原来增加1/3。 使用 String a = "伦家是一个非常长的字符串"; //5Lym5a625piv5LiA5Liq6Z2e5bi46ZW/55qE5a2X56ym5Liy String encode = Base64.en
我想在Java中使用aes/cfb/nopadding加密字节。 我的加密代码如下所示(在Golang和Java中都能正常工作): 当我在Java中加密某些内容,然后尝试使用Java中的解密器时,我得到以下解密错误:
本文向大家介绍php base64 编码与解码实例代码,包括了php base64 编码与解码实例代码的使用技巧和注意事项,需要的朋友参考一下 php base64 编码与解码详解 1.自定义规则方式编码和解码 实例 2.利用系统函数完成base64位的编码和解码 实例代码: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
问题内容: 这是我的代码,我不明白为什么解码功能不起作用。 请少有洞察力会很棒。 它给了我:[解码错误-输出不是utf-8] [解码错误-输出不是utf-8] 问题答案: 返回 最大 长度。 此长度对于调整缓冲区大小很有用,但是不会写入缓冲区的一部分,因此将不是有效的UTF-8。 您只需要使用函数返回的实际写入长度即可。
Go提供了对base64编码和解码的内置支持 package main // 这种导入包的语法将默认的base64起了一个别名b64,这样 // 我们在下面就可以直接使用b64表示这个包,省点输入量 import b64 "encoding/base64" import "fmt" func main() { // 这里是我们用来演示编码和解码的字符串 data := "abc12