2012-09-04 31 views
1

我使用Wicket 1.5,我需要用FileUploadField構建一個組件來加載圖像。Wicket - FileUploadField,Ajax和預覽

我需要一個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以存儲數據庫。

感謝

回答

1

您需要爲使用AjaxFormSubmitBehavior(將提交整個表單上給定的事件)或AjaxFormComponentUpdatingBehavior(將只提交一個表單組件。我不知道後者是否與工作文件上傳,

在你的FileUploadField的模型中,你會發現FileUpload(的列表) - 查看你得到的方法,有輸入流和其他可用的東西,所以你可以使用它可以對數據做任何事情。