Я хотел бы разрешить пользователю загружать файл в дополнение к созданию узла, но, к сожалению, не могу заставить его работать.
Я добавил представление ниже внутри nodaddlViews, который содержит:
echo $form
->field($node,'f_content')
->fileInput()
->label('Select File');
Он правильно отображается и работает, но когда я сохраняю файл, его содержимое в базе данных всегда совпадает с «0x».
Я также пробовал поместить это в функцию сохранения контроллера, но не думаю, что это выполняется как код:
...
public function actionCreate($parent_id = null)
{
$model = new Folders();
if ($model->load(Yii::$app->request->post())) {
if ($parent_id !== null) {
$parent = Folders::findOne($parent_id);
if ($parent) {
$model->prependTo($parent);
}
}
$h=(binary)(file_get_contents($model->f_content));
$model->setAttribute('f_content', $h);
if ($model->save()) {
Yii::$app->session->setFlash('success', 'The record has been saved successfully.');
return $this->redirect(['view', 'id' => $model->id]);
} else {
Yii::$app->session->setFlash('error', 'An error occurred while saving.');
}
}
return $this->render(
'create', [
'model' => $model,
]
);
}
...
Подробнее здесь: https://stackoverflow.com/questions/782 ... ile-upload