0

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);
        }
    }

}

画像は「div」タグに表示されませんでしたが、別の種類のファイル(画像ではない)を選択すると、条件が正しかったことを意味するメッセージボックスが表示されます。ありがとうございました

4

3 に答える 3

1

onUpload メソッドの上に注釈を追加する必要があります @Listen("onUpload=#uploadButton")

于 2014-05-29T08:02:58.087 に答える
1

Div イメージがヌルです。で取得しgetFellow("image")ます。

于 2012-06-22T06:02:25.707 に答える