1

Я пытаюсь загрузить профиль phoho в конец октябряCMS, но не повезло.OctoberCMS frontend загрузка изображения

Невозможно уловить его в бэкэнд для сохранения в пределах пользователя.

Сделано все точно так же, как в документации CMS.

Необходимо сделать эту работу без вечных плагинов.

<form data-request="onCreateUser" data-request-update="user:'.res_user'" > 

    <input name="file_input" type="file" > 
    <button type="submit" class="subBtn">Create User</button> 

</form> 

В пользователя я есть:

public $attachOne = [ 
    'avatar' => 'System\Models\File' 
]; 

и этот код:

$file = new System\Models\File; 
$file->data = Input::file('file_input'); 
$file->is_public = true; 
$file->save(); 

$model->avatar()->add($file); 

Запись хранится в БД, но пустой. filesize = 0

Может ли кто-нибудь помочь мне в этом? Отвечая на вопрос о большом Бро, но обнаружил, что эта проблема очень распространена и не имеет решения.

Благодаря

Обновление:

Это работает, когда я использую это:

{{ form_open({files: true, request: 'onCreateConcert'}) }} 
<!--File Input--> 
<input type="file" name="file-upload" required="required"> 
<!--File Input--> 
<!--Submit/Upload Button--> 
<button type="submit">Upload</button> 
{{ form_close() }} 

, но не с моей форме. Что мне здесь не хватает?

я добавил, а также маркер и session_key

{{ form_sessionKey() }} 
    {{ form_token() }} 
+0

Вы прошли через это https://octobercms.com/docs/services/request-input#files? –

+0

Попробуйте что-то вроде этого Вход :: файл ('photo') -> move ($ destinationPath); Вход :: файл ('photo') -> move ($ destinationPath, $ fileName); –

+0

Также, если вы можете мне помочь, отвечая на мой вопрос здесь http://stackoverflow.com/questions/40124069/send-email-using-october-cms, это будет отличная помощь, поскольку я новичок в OctoberCMS. Спасибо –

ответ

0

попробовать это:

use System\Models\File; 
use Input; 

[...] 

if (Input::file("file_input")) { 
    $model->avatar = Input::file("file_input"); 
} 
model->save(); 
+0

Нет, это не сработало бы ( – aleXela

+0

add: enctype =" multipart/form-data "для формирования –

+0

плохой проверки. – aleXela

1

Это потому, что вы не добавляете enctype="multipart/form-data" в атрибуте формы.

Когда вы используете прут как {{ form_open({files: true, request: 'onCreateConcert'}) }}, files: true добавит атрибут вашей формы для обработки файла загрузки. Таким образом, выше веточка будет генерировать тег, как показано ниже,

<form data-request="onCreateConcert" enctype="multipart/form-data">

Смежные вопросы