3 回答
TA贡献1784条经验 获得超8个赞
尝试:
helper.addAttachment("MyImageName.jpg", new ByteArrayResource(value.getBytes()));
但请阅读:从代码来看,您似乎已经对图像进行了编码。“值”似乎是 Base64 格式。你不应该处理它,因为它是为你完成的。
// you can attach a file directly to the helper
FileSystemResource file = new FileSystemResource(new File("image_file.jpg"));
helper.addAttachment("MyImageName.jpg", file);
如果附件不是磁盘上的文件,您可以使用:
helper.addAttachment("MyImageName.jpg", new ByteArrayResource(IOUtils.toByteArray(attachment)));
如果这是一个输入流或这个:
helper.addAttachment("MyImageName.jpg", new ByteArrayResource(value.getBytes()));
TA贡献1875条经验 获得超3个赞
通过波纹管代码修改代码后,我的问题解决了。
value= value.replaceFirst("^data:image/[^;]*;base64,?", "");
byte[] bytes = javax.xml.bind.DatatypeConverter.parseBase64Binary(value);
helper.addAttachment("MyImageName.jpg", new ByteArrayResource(bytes));
添加回答
举报