我在网站的不同页面上有一个
CKEditor
,所以我设置了上传到 true
以及让它工作的所有配置内容,并且图像上传对于 "Send it to the Server"
选项卡工作得很好。但从这里我想拦截或与 upload
函数交互,以便能够将图像上传到文件夹中,而不是上传到带有一些标志的数据库中,例如 "page"
图像上传的位置、"category"
、"cropping"
以及其他一些标志与他们一起操纵。
那么如何拦截这些上传呢?
我很好奇,我发现上传的默认操作是
/%project_name%/ckeditor/upload.html?CKEditor=textarea_1457018535&CKEditorFuncNum=2&langCode=en
此上传的操作是CkeditorUpload.java,但我不知道如何进一步使用它们。
好吧,如果您想覆盖它,您应该开始覆盖上面操作类中的方法
execute
。
还可以通过替换操作配置中的类引用来覆盖配置。关键是原始实现创建的
FileOutputStream
应该替换为 ByteArrayOutputStream
。然后让它写入字节数组流,从中得到 getBytes()
会给你 byte[] data
。将该数据保存到数据库中。
您也可以阅读这个答案将帮助您做到这一点。
这个教程将向您解释如何使用 Hibernate 来做到这一点。
然后,操作写入 HTML 的代码将磁盘路径更改为操作路径
/uploads
映射到从数据库检索图像的操作。您可以在 here找到
ImageAction
的示例。
这个答案也会有帮助。