我正在使用Wicket 1.5,我需要使用FileUploadField构建一个组件来加载图像。
我需要一个Ajax行为来选择它后进行图像预览(不提交整个表单)。
在Google上搜索时,我发现此事件在我选择文件时匹配:
AjaxEventBehavior choose = new AjaxEventBehavior("onChange"){
private static final long serialVersionUID = 1L;
@Override
protected void onEvent(AjaxRequestTarget target) {
Request request = RequestCycle.get().getRequest();
}
};
我需要的是将图像流放入需要的小面板中:
byte[] imgBytes
显然我需要相同的流来填充PropertyModel以进行数据库存储。
由于
答案 0 :(得分:1)
您需要使用AjaxFormSubmitBehavior
(将在给定事件上提交整个表单)或AjaxFormComponentUpdatingBehavior
(仅提交一个表单组件。我不确定后者是否适用于文件上传,试一试。你可以随时使用前者。
在FileUploadField的模型中,你会找到一个(列表)FileUpload - 看看你得到的方法,有输入流和其他可用的东西,所以你几乎可以对数据做任何事情。