记一次更改 Dcat-Admin 上传组件直传七牛云

Dcat 文件上传文档

由于dcat文件上传是先传到服务器再转发到七牛云的, 所以会在进度条走完之后还要等待一段时间, 使用体验不好, 且容易超时

琢磨了好久, 贴出来分享一下

// 随机文件名
$filename = md5(uniqid()) . '.mp4';
$disk     = Storage::disk('qiniu');
// 回调信息, Dcat 上传文件需要的报文格式
$callBack = [
    'status' => true,
    'data'   => [
        'id'   => $filename,
        'name' => $filename,
        'path' => $filename,
        'url'  => 'http://' . env('QINIU_DOMAINS') . '/' . $filename,
    ],
];
$policy   = [
    'returnBody' => json_encode($callBack),
];
// 七牛云上传 token
$token    = $disk->uploadToken($filename, 3600, $policy);

$form->file('video1', '上传视频')
    // 更改储存驱动
    ->disk('qiniu')
    // 自动上传
    ->autoUpload()
    // 限制文件上传格式
    ->accept('mp4')
    // 提示文字
    ->help('仅支持MP4格式')
    // 更改文件最大限制
    ->maxSize(512000)
    // 关闭页面删除
    ->removable(false)
    // 设置上传地址
    ->url('http://upload-z2.qiniup.com')
    // 自定义 webuploader 配置
    // Dcat 默认 name 为 _file_
    ->options(['fileVal' => 'file'])
    // 上传事件
    ->on('startUpload', <<<JS
        function () {
            console.log('文件开始上传...', this);
            // 上传文件前附加自定义参数到文件上传接口
            this.uploader.options.formData['token'] = "$token";
            this.uploader.options.formData['fileName'] = "$filename";
            this.uploader.options.formData['key'] = "$filename";
        }
JS
    );

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
评论

打赏作者

Slowlyo

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值