我正在使用基于用户输入使用画布创建自定义图像的应用程序,我想知道是否可以允许用户通过电子邮件发送自己在base64中的最终产品的副本,或者我是否必须将其转换为.jpg
或.png
,然后将其嵌入其中。
感谢。
答案 0 :(得分:2)
我建议将Base64转换为图像,写入磁盘,然后使用cfmailparam附加/内联它,并自动将其从磁盘中删除。
我没有遇到任何问题,只是尝试使用cfmail直接内联/附加base64图像到电子邮件。我已经部分成功地将base64转换为图像对象(使用ImageReadBase64()),然后使用图像对象作为cfmailparam内容属性的值并省略文件属性,但是图像通过反转的颜色奇怪地完成。 / p>
关于一些示例代码...
<cfsavecontent variable="mailContent">
...
<img src="cid:signature">
...
</cfsavecontent>
<cfset sigImage = ImageReadBase64(SIGNATURE_IMAGE_BASE64)>
<cfimage source="#sigImage#" destination="tmpSigImage.png" action="write" overwrite="true">
<cfmail ...>
#mailContent#
<cfmailparam
file="#ExpandPath('./tmpSigImage.png')#"
contentid="signature"
disposition="inline"
remove="yes"
/>
</cfmail>