kartik FileInput. Отобразить ссылки на загруженные файлы

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
yura1976
Сообщения: 134
Зарегистрирован: 2012.08.06, 13:24

kartik FileInput. Отобразить ссылки на загруженные файлы

Сообщение yura1976 »

Здравствуйте!
Установил и настроил kartik\file\FileInput. Все замечательно кроме двух моментов.
1. Есть превью выбранных и загруженных файлов. Если это картинки, то все ОК. А если это docx или xlsx, то отображается просто белый квадрат (ну или можно выводить иконку docx или xlsx). И скачать такой файл нельзя (нет ссылки). Если пользователь хочет посмотреть что у него загружено, то такой возможности нет, если это не картинка.
2. Мультизагрузка. Чтобы загрузить более одного файла, нужно их выбирать одновременно. А если я загрузил один, затем кликаю на "выбрать" и выбираю еще один файл, то первый файл заменяется вторым вместо того чтобы отобразиться рядом. Если я правильно понял из доков, то нужно поставить 'overwriteInitial'=>false. Не работает так как я хочу. Если же поставить uploadUrl, то все работает как нужно. Но мне uploadUrl не нужен. Если при редактировании отображается ранее загруженный файл, то тоже второй файл становится рядом, но вот третий уже не хочет, он заменяет второй.

Код: Выделить всё

<?=$form->field($model, 'editionalfile[]',[
    'options'=>['class'=>'col-12 mb-3']
])
    ->widget(FileInput::class, [
        'options' => [
            'multiple' => true,
        ],
        'pluginOptions' => [
            'showCaption' => false,
            'showRemove' => true,
            'showCancel' => false,
            'showUpload' => false,
            'dropZoneEnabled' => false,
//                    'preview' => true,
            'allowedFileExtensions' => ['pdf', 'jpg', 'png', 'txt','doc', 'docx', 'xls', 'xlsx'],
            'initialPreview' => $model->getEditionalFileList(),
            'initialPreviewConfig' => [
                ['type'=>'text','caption'=>'тест1'],
                ['type'=>'text','caption'=>'тест2'],
            ],
            'overwriteInitial'=>false,
            'maxFileSize'=>5800,
            'maxFileCount' => 10,
            'initialPreviewAsData'=>true,
            'deleteUrl' => Url::to(['/article/file-delete']),
        ]
    ]);?>
    
Ответить