是否可以使用CFMailParam嵌入base64图像?

时间:2015-03-24 00:56:21

标签: coldfusion base64

我正在使用基于用户输入使用画布创建自定义图像的应用程序,我想知道是否可以允许用户通过电子邮件发送自己在base64中的最终产品的副本,或者我是否必须将其转换为.jpg.png,然后将其嵌入其中。

感谢。

1 个答案:

答案 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>