2013-07-17 3 views
1

Я использую CKFinder в сочетании с CKEditor, но также как автономное всплывающее окно ввода входного файла. Поэтому, когда кто-то нажимает кнопку «загрузить», появляется новое всплывающее окно, в котором кто-то может выбрать файл/файл/Flash-файл для загрузки. Для поля «аватар» мне нужно только выбрать файлы изображений. Невозможно выбрать другой тип файла. Как я могу заставить это работать? В документации я не могу найти очень полезную информацию.Автономный CKFinder: как отображать только изображения в диалоговом окне диалога?

В CKEditor можно выбрать только изображение или файл из всплывающего окна CKFinder, но похоже, что одна и та же опция была забыта в автономной версии CKFinder. Мне нужно добиться «ckfinder.html? Type = Image», но я не хочу изменять ckfinder.js, потому что это повлияет и на другие всплывающие диалоговые окна, в которых кто-то должен иметь возможность выбирать даже изображения в виде файлов.

я в том числе CKFinder, как во всплывающем образце:

var finder = new CKFinder(); 
finder.basePath = '../'; // The path for the installation of CKFinder (default = "/ckfinder/"). 
finder.selectActionFunction = SetFileField; 
finder.popup(); 

Заранее спасибо за вашу помощь!

+0

Вопрос немного сложно понять, но я думаю, что вам нужна конфигурация коннектора, которая разрешает только изображения. У меня на самом деле есть две установки CKFinder для этого сейчас, когда я оцениваю использование CKFinder. Это ужасно раздражает, но я не знаю, как динамически выбирать между конфигурациями коннекторов. – Nenotlep

ответ

0

вы должны попробовать, *

LoadImage

является идентификатор кнопки выбора файла,

picUrl

является идентификатор текстовой ссылки

$('#LoadImage').click(function() { 
    var finder = new CKFinder(); 
    finder.selectActionFunction = function (fileUrl) { 
     fileUrl = fileUrl.substring(fileUrl.lastIndexOf("/") + 1); 
     $('#picUrl').val = (fileUrl); 
    } 
    selectFileWithCKFinder('picUrl'); 
}) 
function selectFileWithCKFinder(elementId) { 
    CKFinder.popup({ 
     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; 
      }); 
     } 
    }); 
} 
Смежные вопросы