Kartik 树管理器和文件上传

问题描述 投票:0回答:1

除了创建节点之外,我还想允许用户上传文件,但不幸的是,我无法让它工作。

我在

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,
        ]
    );
}
...
php yii2 treeview
1个回答
0
投票

您缺少 UploadFile 实例。检查接线部分:https://www.yiiframework.com/doc/guide/2.0/en/input-file-upload#wiring-up

© www.soinside.com 2019 - 2024. All rights reserved.