CKfinder загрузка нескольких изображений без CKEditor

Я использую модальное окно ckfinder без CKEditor для загрузки нескольких файлов в раздел формы.

Я использовал код из раздела документации,

Модальное окно CKfinder открывается, как и ожидалось, выбрано несколько файлов, но мне не удалось получить все URL-адреса изображений. В ответ я получил только первое изображение.

      window.CKFinder = {
        _popupOptions: {
            'popup-1-config': { // Config ID for first popup
                chooseFiles: true,
                onInit: function( finder ) {
                    finder.on( 'files:choose', function( evt ) {
                        var file = evt.data.files.first();
                        var output = document.getElementById( 'output' );
                        output.innerHTML = 'Selected in popup 1: ' + file.get( 'name' ) + '<br>URL: <img src=" ' + file.getUrl() + '">';
                    } );
                }
            },
            
        }
    };

    var popupWindowOptions = [
        'location=no',
        'menubar=no',
        'toolbar=no',
        'dependent=yes',
        'minimizable=no',
        'modal=yes',
        'alwaysRaised=yes',
        'resizable=yes',
        'scrollbars=yes',
        'width=800',
        'height=600'
    ].join( ',' );

    document.getElementById( 'popup-1-button' ).onclick = function() {
        // Note that config ID is passed in configId parameter
        window.open( 'http://foxhills.localhost/admin/ckfinder/ckfinder.html?popup=1&configId=popup-1-config', 'CKFinderPopup1', popupWindowOptions );
    };

В приведенном выше коде var file = evt.data.files.first (); это причина, по которой я получаю первое изображение. Как я могу изменить код, чтобы получить все URL-адреса в виде массива.

1 ответ

Решение

Для вашего мероприятия попробуйте протестировать с этим

      finder.on( 'files:choose', function( evt ) {
    var files = evt.data.files;

    var chosenFiles = '';

    files.forEach( function( file, i ) {
        chosenFiles += ( i + 1 ) + '. ' + file.get( 'name' ) + '\n';
    } );

    alert( chosenFiles );
} );

Источник: https://ckeditor.com/docs/ckfinder/ckfinder3/#!/api/CKFinder.Application-event-files_choose

Другие вопросы по тегам