我正在将Cakephp3与Cake\Network\Email\Email一起使用。
我有一个表单,用于发送带有两个输入字段的消息。这些字段存储在数据库中。我想将图像加入此表单,而不存储它:仅在附件中。这是我的输入文件:
<?php echo $this->Form->file('photo', ['class' => 'form-control','value'=>'','accept'=>'image/*']); ?>
我的控制器:
$Email = new Email('default');
$Email->theme('Front')
->template('my_template1')
->viewVars(['sender'=> $user, 'recipes'=> $recipes])
->attachments([$this->request->data['photo'] => $this->request->data['photo']['tmp_name']])
->emailFormat('html')
->to('xx@xx.com')
->from($user['email'])
->send();
文本输入被很好地存储和发送。但我的电子邮件中没有附上任何图片。。。
怎么了?
谢谢!
我被困在这里,我得到了它,在你的创建表单中添加
'enctype'=>'multipart/form-data'
所以应该是
echo $this->Form->create($email, ['enctype'=>'multipart/form-data']);
默认情况下,它会添加到另一个控制器中,但当您使用无模型窗体时,它不会执行此操作。