Laravel-admin 插件中文件上传改为异步上传并设置_token和_method

阅读 (5719)
Laravel laravel-admin 是一个很不错的后台管理系统,在此基础上,用好了可以大大减少开发成本,真正做到敏捷开发,但官方文档难免还有一些不足,例如插件中文件上传改为异步上传并设置_token和_method的方法并没有介绍

Laravel-admin文件上传组件使用时,官方文档中并没有关于异步上传文件的设置

http://laravel-admin.org/docs/#/zh/model-form-fields?id=%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0

官方文档只有一些基础的使用方法

// 文件上传

$form->file($column[, $label]);

// 修改文件上传路径和文件名
$form->file($column[, $label])->move($dir, $name);

// 并设置上传文件类型
$form->file($column[, $label])->rules('mimes:doc,docx,xlsx');

// 添加文件删除按钮
$form->file($column[, $label])->removable();

// 多图/文件上传

// 多图
$form->multipleImage($column[, $label]);

// 添加删除按钮
$form->multipleImage($column[, $label])->removable();

// 多文件
$form->multipleFile($column[, $label]);

// 添加删除按钮
$form->multipleFile($column[, $label])->removable();

其实阅读插件原代码可以发现有一些函数虽然没写在官方文档中,但功能还是在的,如options方法,可以直接添加fileinput配置,那这样就可以直接设置为异步上传,并且设置_token和_method值了,如下代码,还有addElementClass方法,可以加指定样式

return Admin::form(Android::class, function (Form $form) {

    // 异步上传文件,限上传apk格式
    $form->file('file_upload', '上传安装包')->removable()->addElementClass('apk_upload')->options([
        'showPreview' => false,
        'allowedFileExtensions'=>['apk'],
        'showUpload'=>true,
        'uploadAsync' =>true,
        'uploadUrl' => '/admin/common/apk_upload',
        'uploadExtraData' => [
            '_token'    => csrf_token(),
            '_method'   => 'POST',
        ],
    ])->setWidth(5, 3);
});

 

更新于:2018-05-09 16:04:43
返回顶部