octobercms email ajax form не работает прикрепление файлов
Сделал отправку формы на e-mail, все отправляет кроме файла не могу понять почему, может кто помочь. вот код отправки
<?php
namespace Progmatiq\Contactform\Components;
use Cms\Classes\ComponentBase;
use October\Rain\Exception\ValidationException;
use File;
use attachData;
use Input;
use Redirect;
use Mail;
use Lang;
use Flash;
use Validator;
class ContactForm extends ComponentBase
{
public function componentDetails()
{
return [
'name' => 'Contact Form',
'description' => 'A simple contact form'
];
}
public function onSend()
{
// Get request data
$data = Input::all([
'first_name',
'last_name',
'email',
'content',
'fileAttachment'
]);
$vars = [
'first_name' => Input::get('first_name'),
'last_name' => Input::get('last_name'),
'email' => Input::get('email'),
'content' => Input::get('content'),
'fileAttachment' => Input::file('fileAttachment'),
];
$rules = [
'first_name' => 'required|min:3|max:255',
'last_name' => 'required|min:11|max:11',
'email' => 'required|email',
'content' => 'required',
];
$messages = [
'first_name' => 'Имя должно состоять минимум из 3 букв',
'last_name' => 'Телефон должен состоять из 11 цифр',
'email' => 'Неверный формат записи email',
'content' => 'Поле не должно быть пустым'
];
// Validate request
// $this->validate($data);
// Send email
$receiver = '[email protected]';
$validator = Validator::make($data, $rules, $messages);
if ($validator->fails()) {
throw new ValidationException($validator);
} else {
Mail::send('progmatiq.contact::contact', $vars, function ($message) use ($receiver,$vars) {
$message->to($receiver);
if ($vars['fileAttachment']) {
$file = $vars['fileAttachment'];
$pathToFile = $file->getPathname();
$fileName = $file->getClientOriginalName();
$mime = $file->getMimeType();
$message->attach($pathToFile, ['as' => $fileName, 'mime' => $mime]);
}
});
return true;
}
}
}
и код формы
<form method="POST" data-request="onSend" data-request-validate data-request-success="this.reset(); alert('Спасибо за ваше обрашение')" autocomplete="off" files='true'>
<div class="form__group">
<input type="text" name="first_name" class="input input--person" placeholder="Ваше имя" autocomplete="off">
<p data-validate-for="first_name" class="text-danger"></p>
</div>
<div class="form__group">
<input type="text" name="last_name" class="input input--phone" type="tel" placeholder="Ваш номер телефона" autocomplete="off">
<p data-validate-for="last_name" class="text-danger"></p>
</div>
<div class="form__group">
<input name="email" class="input input--email" type="email" placeholder="Ваш e-mail" autocomplete="off">
<p data-validate-for="email" class="text-danger"></p>
</div>
<div class="form__group">
<textarea name="content" class="add-post__textarea input input--text" placeholder="Ваше сообщение" data-autoresize></textarea>
<p data-validate-for="content" class="text-danger"></p>
</div>
<div class="form__group form__group--flex">
<div class="form-wrapper">
<label class="add-post__file" for="add-post-file">
<input class="fileAttachment" type="file" id="add-post-file" name="fileAttachment" data-request-files="true">
</label>
</div>
<div class="form-wrapper form-wrapper--btn">
<button type="submit" class="btn btn--block btn--blue" data-attach-loading><span>Отправить</span></button>
</div>
</div>
</form>