我正在尝试使用base64附加图片/在电子邮件模板中显示图片,以便我不必存储文件,但我没有运气。
图片在Gmail中成功附加了适当的文件大小/名称,但图片已损坏且从未真正显示过。
电子邮件模板上img
标记中设置的图片也无法正常显示。
Rubric:
data
字段是base64字符串,如下所示:data:image/gif;base64,AJHDJsdlksdAK....
name
是文件的名称。
mime
就像image/gif
。
这是我正在尝试的模板(第一个显示一个损坏的图像,第二个使用正确的base64字符串呈现图像,但所有内容都是纯文本而不是被解释为HTML):
<img src="{{$message->embedData($inputs['picture']['data'], $inputs['picture']['name'])}}">
<img src="{{$inputs['picture']['data']}}">
这是Mailer类:
return $this->from('myemail@domain.com')
->attachData($picture['data'], $picture['name'], [
'mime' => $picture['mime']
])
->view('form.submitted')
->with($data);
我在这里做错了什么?我完全按照Laravel Documentation for mail under Attachments中显示的内容完成了所有操作。
答案 0 :(得分:1)
一旦附加,您必须解码数据:
->attach(base64_decode($picture['data']), 'Blah'))