我有一个 html id 为“id_textarea”的文本区域。
editor = CKEDITOR.inline( 'id_textarea', {
filebrowserBrowseUrl : 'browse_url',
filebrowserUploadUrl : 'upload_url'
});
editor.on( 'fileUploadRequest', function( evt ) {
console.log("This is not printing");
});
每当我尝试上传文件时,它不会向控制台打印任何内容。难道我做错了什么?
顺便说一句,我的要求是在发送请求之前添加 csrf 标头,我需要捕获某些事件(例如 fileUpload 请求)。
我假设您正在尝试通过“图像属性”对话框中的“上传”选项卡上传文件。它是由文件浏览器插件 http://ckeditor.com/addon/filebrowser and fileButton http://docs.ckeditor.com/#!/api/CKEDITOR.dialog.definition.fileButton-property-filebrowser它不支持fileUploadRequest http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-fileUploadRequest and fileUploadResponse http://docs.ckeditor.com/#!/api/CKEDITOR.editor-event-fileUploadResponse事件(已经有一个功能要求 http://dev.ckeditor.com/ticket/13791对这个案例有更深入的描述)。
如果您想使用这些事件进行一些自定义请求预处理,您可以使用上传图片 http://ckeditor.com/addon/uploadimage插入。配置过程描述于官方文档 http://docs.ckeditor.com/#!/guide/dev_file_upload,但请记住,它仅适用于删除或粘贴文件。通过图像属性对话框上传仍将由不支持这些事件的文件浏览器插件处理。
重要的事情这是因为CK编辑器4.5.6 http://ckeditor.com/blog/CKEditor-4.5.6-Released,文件浏览器插件使用CSRF 标头 http://docs.ckeditor.com/#!/api/CKEDITOR.tools-method-getCsrfToken因此它可以在您的服务器端使用,而无需对 JavaScript 代码进行任何修改。因此,如果您使用的是旧版本,我建议更新到 4.5.6(使用例如CKBuilder http://ckeditor.com/builder)并尝试与您的后端集成。文件浏览器插件中的 CSRF 标头应该足以满足您的需求。
Here is the header:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)