2012-06-19 518 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”)