gpt4 book ai didi

php - Mandrill:如何将图像附加为内联和附件?

转载 作者:行者123 更新时间:2023-12-05 05:17:52 25 4
gpt4 key购买 nike

我正在尝试附加一个 base64 格式的图像,例如

data:image/jpeg;base64,/9j....

我在 php 中有以下附件代码:

$attachment_encoded5 = $record['upload_file'];
//$attachment_encoded5 = base64_encode($record['upload_file']);
$attachment_array[] =
array(
'type' => 'image/jpeg',
'name' => $record['name'].".jpeg",
'content' => $attachment_encoded5
);

所以现在我在这里做错了什么:- 我是否需要将 dataurl 图像转换为 base64?- 我需要使用任何其他代码来附加图像吗?- 最后,如何将图像附加为内嵌图像?

提前致谢:)请让我知道,因为我有点卡住:(

最佳答案

使用 images 参数将图像作为内联附件包含在您的 API 调用中。您需要提供图像名称 (Content-ID)、内容(作为 base64 编码的字符串)和图像 MIME 类型。在 HTML 内容的“src”中引用图像名称:

<img src="cid:image_name" />

READ MORE

因此您需要将现有数组包装到另一个数组中,即 images

function addInlineImage(){

$image_name=$record['name'].".jpeg";

$attachment=array(

'images'=>

array(
'type' => 'image/jpeg',
'name' => $image_name,
'content' => $attachment_encoded5
)

);

return [$attachment,$image_name];
}

您可以从函数中返回图像名称和附件并使用

list($attachment,$image_name)=addInlineImage();

然后在下面的标签中使用它

<img src="cid:<?=$image_name?>" />

只需确保您在函数 addInlineImages() 中提供的附件是 base64encoded

对于大多数 SMTP 库,包括内联图像都是自动处理的。例如,如果您内联插入图像,则会添加一个 img 标签,该标签随后会引用所附加图像的 Content-ID。如何添加内联图像取决于所使用的 SMTP 库。

关于php - Mandrill:如何将图像附加为内联和附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48571469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com