【发布时间】:2021-03-11 11:49:03
【问题描述】:
我正在尝试创建一个组件以将 CKEditor 与 Apache Wicket 一起使用。我在 CKEditor 中添加了一个插件来将图像发送到服务器。为此,我使用了为客户端提供的示例:
CKEditor: Custom image upload adapter
对于服务器端,我创建了这个 Java 代码:
add(new AbstractDefaultAjaxBehavior() {
@Override
protected void updateAjaxAttributes(final AjaxRequestAttributes attributes) {
super.updateAjaxAttributes(attributes);
attributes.setMethod(Method.POST);
attributes.setMultipart(true);
attributes.setDataType("json");
}
@Override
protected void respond(final AjaxRequestTarget target) {
// Avoid the redirect (302)
final RequestCycle requestCycle = getRequestCycle();
requestCycle.scheduleRequestHandlerAfterCurrent(null);
// Return the picture URL
final WebResponse response = (WebResponse) RequestCycle.get().getResponse();
response.setStatus(200);
response.setContentType("application/json");
response.write("{ \"url\": \"http://localhost:8080/image/foobar.jpg\"}");
}
@Override
public void renderHead(final Component component, final IHeaderResponse response) {
super.renderHead(component, response);
final String callbackUrl = getCallbackUrl().toString();
response.render(JavaScriptHeaderItem.forScript("ckeditorCallbackUrl = '" + callbackUrl + "';",
"ckeditorCallbackUrl"));
}
});
但在response方法中,我不知道如何访问带有图像的多部分数据。
如何检索此表单数据?
谢谢。
【问题讨论】: