1

ZK で csv ファイルをアップロードする必要があります。これは私の zul ページです。

<zk>
<window
    apply="org.zkoss.bind.BindComposer"
    viewModel="@id('vm') @init('UploadVM')"
    title="win"
    position="center"
    mode="overlapped"
    border="normal"
    width="300px"
    height="200px">
    <button
        label="upload"
        upload="true,maxsize=801192"
        onUpload="@command('uploadFile',upload=event)"
        autodisable="self" />

</window>
</zk>

そして私のJavaページ:

public class UploadVM {
    private Media media;
    public Media getMedia(){
        return media;
    }
    @NotifyChange("media")
    @Command
    public void uploadFile(@ContextParam(ContextType.TRIGGER_EVENT) UploadEvent event) {
        media = event.getMedia();
        media.getStreamData();
    }

しかし、この単純な例では、次のエラーがあります。

Use getStringData() instead

そして、私は何が起こるかわかりません。

誰が私を助けることができます???

4

3 に答える 3

1

メディアからデータを取得する前に、メディアの形式を知っておく必要があります。ドキュメントによると、メディア データはbinaryまたはのtext-based形式にすることができます。そのコンテンツを取得するには、前者の場合はor 、後者の場合はgetByteData()orを使用する必要があります。例えば、getStreamData()getStringData()getReaderData()

media = event.getMedia();
if (media.isBinary()) {
    InputStream is = media.getStreamData();
} else {
    String s = media.getStringData();
}
于 2013-09-25T20:29:33.387 に答える
0

これは、PDFドキュメントを生成するための私のソリューションです:

@Command
@NotifyChange("savePDF")
public void savePDF() throws IOException, Exception {

File f = new File("PDF_test.pdf");
OutputStream file = new FileOutputStream(f); 

Document document = new Document();
PdfWriter.getInstance(document, file);

Filedownload.save(f, "application/pdf");

PdfPTable table=new PdfPTable(3);
PdfPCell cell .....
}
于 2016-10-11T14:10:41.780 に答える