1

我使用 Wicket 1.5,我需要使用 FileUploadField 构建一个组件来加载图像。

我需要一个 Ajax 行为来在选择图像后预览图像(不提交整个表单)。

在谷歌上搜索,我发现当我选择文件时这个事件匹配:

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。

谢谢

4

1 回答 1

1

您需要使用AjaxFormSubmitBehavior(将在给定事件上提交整个表单)或AjaxFormComponentUpdatingBehavior(将仅提交一个表单组件。我不确定后者是否适用于文件上传,试一试。您可以随时使用以前的。

在您的 FileUploadField 模型中,您会找到一个(列表)FileUpload - 查看您获得的方法,有输入流和其他可用的东西,因此您可以对数据执行几乎任何操作。

于 2012-09-04T13:00:18.767 回答