上传文件到前端
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() }}
我使用用户插件。我使用了迁移
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() }}