上传文件到前端

Uploading files to front end

我使用用户插件。我使用了迁移

    public function up()
    {
        Schema::table('users', function($table)
        {

            $table->text('sex')->nullable();
            $table->date('birthday')->nullable();
            $table->string('doc_photo')->nullable();
        });
    }

使管理面板和前端用户帐户中的字段都可编辑

        UserModel::extend(function($model){
            $model->addFillable([
                'sex',
                'birthday',
                'doc_photo'
            ]);
        });

        UsersController::extendFormFields(function($form, $model, $context){
            $form->addTabFields([
                'sex' => [
                    'label' => 'Sex',
                    'type' => 'text',
                    'tab' => 'Personal info'
                ],              
                'birthday' => [
                    'label' => 'Birthday',
                    'type' => 'text',
                    'tab' => 'Personal info'
                ]
                'doc_photo' => [
                    'label' => 'Photo',
                    'type' => 'text',
                    'tab' => 'Documents'
                ]
            ]);
        });

我如何使用使文件上传到服务器。例如头像

这是我为后端做的:

从数据库中删除 doc_photo table

public function up()
{
    Schema::table('users', function($table)
    {

        $table->text('sex')->nullable();
        $table->date('birthday')->nullable();
    });
}

Plugin.php - 添加 doc_photo 作为附件而不是字段,并作为后端控制器中的文件上传小部件

    UserModel::extend(function($model){
        $model->addFillable([
            'sex',
            'birthday'
        ]);
        $model->attachOne['doc_photo'] = 'System\Models\File';
    });

    UsersController::extendFormFields(function($form, $model, $context){
        $form->addTabFields([
            'sex' => [
                'label' => 'Sex',
                'type' => 'text',
                'tab' => 'Personal info'
            ],              
            'birthday' => [
                'label' => 'Birthday',
                'type' => 'text',
                'tab' => 'Personal info'
            ],
            'doc_photo' => [
                'label' => 'Photo',
                'type' => 'fileupload',
                'mode' => file,
                'thumbOptions' => [
                    'mode' => 'crop',
                    'extension' => 'auto'
                ],
                'useCaption' => true,
                'tab' => 'Documents'
            ]
        ]);
    });

这是给前端的:

制作一个具有 onUpload() 功能的组件并加载 Auth facade:

public function onUpload() {
    $user = Auth::getUser();
    $user->doc_photo = Input::file("doc_photo");
    $user->save();

    return Redirect::refresh();
}

HTML/Twig 在 default.htm 部分中查找的代码:

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