CKEdidor возвращает несколько выбранных файлов - PullRequest
0 голосов
/ 07 апреля 2020

Я использую CKFinder 3 в веб-проекте, как описано на CKFinder Website , моя проблема в том, что я не могу вернуть несколько выбранных изображений. Проблема в том, что когда я выбираю несколько изображений, возвращается только первое. Есть ли способ вернуть несколько файлов?

var button1 = document.getElementById( 'ckfinder-popup-1' );
var button2 = document.getElementById( 'ckfinder-popup-2' );

button1.onclick = function() {
    selectFileWithCKFinder( 'ckfinder-input-1' );
};
button2.onclick = function() {
    selectFileWithCKFinder( 'ckfinder-input-2' );
};

function selectFileWithCKFinder( elementId ) {
    CKFinder.modal( {
        chooseFiles: true,
        width: 800,
        height: 600,
        onInit: function( finder ) {
            finder.on( 'files:choose', function( evt ) {
                var file = evt.data.files.first();
                var output = document.getElementById( elementId );
                output.value = file.getUrl();
            } );

            finder.on( 'file:choose:resizedImage', function( evt ) {
                var output = document.getElementById( elementId );
                output.value = evt.data.resizedUrl;
            } );
        }
    } );

1 Ответ

0 голосов
/ 09 апреля 2020

Я нашел способ, как это сделать. Единственный облом в том, что вы не можете изменить размер изображения.

  var button1 = document.getElementById( 'ckfinder-popup-1' );

button1.onclick = function() {
    selectFileWithCKFinder( 'ckfinder-input-1' );
};


function selectFileWithCKFinder( elementId ) {
    CKFinder.modal( {
        chooseFiles: true,
        width: 800,
        height: 600,
        onInit: function( finder ) {
            finder.on( 'files:choose', function( evt ) {


        var url='';
        for(i = 0; i < evt.data.files.models.length  ; i++){
          var file = evt.data.files.models[i];

          var tempurl = file.getUrl();

          url +=','+tempurl;
        }

        var output = document.getElementById( elementId );
                output.value = url;


            } );

            finder.on( 'file:choose:resizedImage', function( evt ) {
        var url='';
        for(i = 0; i < evt.data.files.models.length  ; i++){
          var file = evt.data.files.models[i];

          var tempurl = file.getUrl();

          url +=','+tempurl;
        }

        var output = document.getElementById( elementId );
                output.value = url;
            } );
        }
    } );
}
  </script> ```
...