【问题标题】:Send image email cakephp without storing it发送图像电子邮件 cakephp 而不存储它
【发布时间】:2016-03-25 15:43:59
【问题描述】:

我正在使用 Cakephp 3 和 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();

文本输入得到很好的存储和发送。但我的电子邮件中没有附加图片...

怎么了?

谢谢!

【问题讨论】:

  • 从启用调试模式开始,你在那里做的事情无论如何都会触发错误。
  • 我收到警告:附件的“非法偏移类型”
  • 我也有同样的问题,debug($this->request->data);你没有得到你认为你得到的东西

标签: cakephp cakephp-3.0


【解决方案1】:

我被困在这里,我明白了,在你的创建表单中添加

'enctype'=>'multipart/form-data'

应该是这样的

 echo $this->Form->create($email, ['enctype'=>'multipart/form-data']);

默认情况下这是在另一个控制器中添加的,但是当您使用无模型形式时,它不会这样做。

【讨论】:

    猜你喜欢
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 2012-01-13
    • 2018-12-14
    • 2013-04-08
    • 2013-04-01
    • 2012-06-14
    相关资源
    最近更新 更多