2012-06-19 411 views
0

如何上傳圖片並使用zk中的按鈕在瀏覽器上顯示。我已經嘗試過了,但上傳的圖片沒有出現在瀏覽器中。請告訴我什麼是錯我的代碼:ZK上傳圖片並顯示它

這是ZUL文件:

<?xml version="1.0" encoding="UTF-8"?> 
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?> 
<window id="win" use="simple.zkoss.project.WindowController"> 
    <hbox> 
     <button id="uploadButton" label="Upload" upload="true" onUpload="win.uploadImage((UploadEvent) event)" /> 
     <div id="image" width="100px" height="100px" /> 
    </hbox> 
</window> 

和類:

import org.zkoss.util.media.Media; 
import org.zkoss.zk.ui.UiException; 
import org.zkoss.zk.ui.event.UploadEvent; 
import org.zkoss.zul.Div; 
import org.zkoss.zul.Fileupload; 
import org.zkoss.zul.Image; 
import org.zkoss.zul.Messagebox; 
import org.zkoss.zul.Window; 

public class WindowController extends Window { 

    private Div image; 

    public void uploadImage(UploadEvent event) { 

     Media media = event.getMedia(); 
     if (media instanceof org.zkoss.image.Image) { 
      Image im = new Image(); 
      im.setContent((org.zkoss.image.Image) media); 
      im.setParent(image); 
     } else { 
      Messagebox.show(media + " is not an image", "Error", Messagebox.OK, Messagebox.ERROR); 
     } 
    } 

} 

圖像只是沒有出現在「格」的標籤,但當我選擇另一種類型的文件(不是圖像)時,它會顯示消息框,表示條件正確。謝謝

+0

註釋你解決了這個問題嗎?如果解決不要忘記分享... –

回答

1

Div圖像爲空。用getFellow("image")檢索它。

0

變化由侑DIV:

<image id="idBtn"/> 

和你的方法:

public void onUpload$idBtn(UploadEvent event) { 
    Media media = event.getMedia(); 
    if (media instanceof org.zkoss.image.Image) { 
     img_identificacion.setContent((org.zkoss.image.Image) media); 
    } 
} 
1

您需要添加上述onUpload方法@Listen( 「onUpload =#uploadButton」)