我正在将CKFinder与CKEditor结合使用,但也作为独立的文件输入图像弹出窗口。因此,当有人点击“上传”按钮时,会出现一个新的弹出窗口,其中有人可以选择要上传的图像/文件/ Flash文件。 对于“avatar”字段,我只需要选择图像文件。不应该选择其他文件类型。我怎样才能使这个工作?在文档中,我找不到非常有用的信息。
在CKEditor中,可以只从CKFinder-popup中选择图像或文件,但看起来在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 :(得分:0)
的LoadImage
是按钮选择文件的ID,
picUrl
是文字链接的ID
$('#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;
});
}
});
}