如何在Struts 2中使用CKEditor拦截上传的图片文件

问题描述 投票:0回答:1

我在网站的不同页面上有一个

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,但我不知道如何进一步使用它们。

java file-upload struts2 ckeditor struts2-jquery
1个回答
1
投票

好吧,如果您想覆盖它,您应该开始覆盖上面操作类中的方法

execute

还可以通过替换操作配置中的类引用来覆盖配置。关键是原始实现创建的

FileOutputStream
应该替换为
ByteArrayOutputStream
。然后让它写入字节数组流,从中得到
getBytes()
会给你
byte[] data
。将该数据保存到数据库中。

您也可以阅读这个答案将帮助您做到这一点。

这个教程将向您解释如何使用 Hibernate 来做到这一点。

然后,操作写入 HTML 的代码将磁盘路径更改为操作路径

/uploads
映射到从数据库检索图像的操作。您可以在
here
找到 ImageAction 的示例。

这个答案也会有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.