微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

自定义缩略图CKFinder 3,自定义文件类型

如何解决自定义缩略图CKFinder 3,自定义文件类型

我有自定义文件类型,或者不支持缩略图文件类型,因为 ckfinder 仅支持图像类型。

所以 file:getThumb 只在图像文件类型上被调用

finder.on('file:getThumb',function (evt) {
    evt.stop();
    Object.assign(evt.data.templateData,evt.data);
    evt.data.template = `http://example.com/images/{{= it.url }}`;
});

解决方法

事实证明,您需要进行一些修补才能实现这一点。

需要 CKFinder/Modules/Files/Views/ThumbnailsView/FileRenderer 并修补返回的模板字符串以强制所有文件类型具有缩略图。

CKFinder.define(
    ['backbone','marionette','doT','CKFinder/Modules/Files/Views/ThumbnailsView/FileRenderer'],CKFinderPlugin
);
function CKFinderPlugin(Backbone,Marionette,doT,fileRenderer) {
    fileRenderer.prototype.preRenderOrigin = fileRenderer.prototype.preRender;
    fileRenderer.prototype.preRender = function () {
        var args = Array.from(arguments);
        var response = fileRenderer.prototype.preRenderOrigin.apply(this,args);
        return response.replace('ckf-file-icon','ckf-lazy-thumb');
    };

    return {
        init(finder) {},lib: [Backbone,fileRenderer],};
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。