ZK 例子文件上传

<xml version="1.0" encoding="UTF-8"?>   
<window>
<label value="test"></label>
<button label="upload">
<attribute name="onClick">
<![CDATA[
import org.zkoss.zk.ui.util.Configuration;
import java.io.*;
import org.zkoss.io.Files;

Desktop desktop = self.getDesktop();
Configuration conf = desktop.getWebApp().getConfiguration();
conf.setMaxUploadSize(1024);
//解决中文问题,如果上传的文件中有中文
conf.setUploadCharset("gbk");
//如果文本文件的话,返回的实际是AMedia类型
Object media = Fileupload.get();

//多文件

//Object[] mediaArray = Fileupload.get(5);
if(media!=null){
String fileName = media.getName();
if(!fileName.endsWith(".txt")){
alert("not a txt file");

return;
}

/**
* 用Reader的方式,实际是StringReader
*/

Reader r = media.getReaderData();
File f = new File("c:\\"+fileName);

/*
//可以获得相对路径
File f = new File(Executions.getCurrent().getDesktop().getWebApp().getRealPath("medias") + "/"+ media.getName());
*/

if(!f.exists()){
f.createNewFile();
}


//Files类是由ZK提供的
Files.copy(f,r,null);
Files.close(r);

/*
//用InputStream的实现方式
InputStream ins = new ByteArrayInputStream(media.getStringData().getBytes());
File f = new File("c:\\temp\\"+fileName);
if(!f.exists()){
f.createNewFile();
}
OutputStream out = new FileOutputStream(f);
byte[] buf=new byte[1024];
int len;
while((len=ins.read(buf))>0){
out.write(buf,0,len);
}
out.close();
ins.close();

*/
alert("file created");

}
//alert(media.getStringData().length());
//alert(media.getName());

]]>
</attribute>
</button>
<vbox id="file">
</vbox>

</window>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值