ChunkFileField.php 2.0 KB
<?php
/**
 * Created by PhpStorm.
 * User: 猫巷
 * Email:catlane@foxmail.com
 * Date: 2019/5/28
 * Time: 2:40 PM
 */

namespace App\Admin\Rewrite\ChunkFileUpload;

use Encore\Admin\Form\Field;
use Encore\ChunkFileUpload\ChunkFileField as EncoreChunkFileUpload;

class ChunkFileField extends EncoreChunkFileUpload
{
    public $view = 'admin::chunk-file-upload.chunk-file-upload';

    public function render()
    {
        if (! $this->disk) {//如果没有,就用默认的
            $driver = 'local';
        } else {
            $config = config('chunk_file_upload.disks.' . $this->disk);
            if (! $config) {//如果没有
                $driver = 'local';
            } else {
                $driver = $config[ 'driver' ];
            }
        }

        $name   = $this->formatName($this->column);
        $prefix = config('admin.route.prefix');
        $prefix = trim($prefix, '/');
        $prefix = $prefix ? '/' . $prefix : '';

        $qn_area      = isset($config[ 'qn_area' ]) ? $config['qn_area'] : '';
        $url      = isset($config[ 'url' ]) ? $config['url'] : '';
        $this->script = <<<SRC
        window.chunk_file.fileNumLimit = '$this->fileNumLimit';//文件数量
        window.chunk_file.saveType = '$this->saveType';//保存格式
        window.chunk_file.fileSizeLimit = '$this->fileSizeLimit';//文件总大小
        window.chunk_file.prefix = '$prefix';//文件总大小
        window.chunk_file.area = '{$qn_area}';//文件总大小
        window.chunk_file.url = '{$url}';//文件域名

        //没有这个变量
        if(typeof uploaders == 'undefined'){
            uploaders = [];
        }

        accept = [
            {
                title: 'accepts',
                extensions: '{$this->extensions}',
                mimeTypes: '{$this->mimeTypes}'
            }
        ];
		upload = chunk_file ('$name',accept,'$this->disk','$driver');
		uploaders.push(upload)
		console.log(uploaders)

SRC;

        return Field::render();
    }
}