zk FileUpload(文件上传)
<button label="上传 Image" upload="true,maxsize=1073741824">
<attribute name="onUpload"><![CDATA[
org.zkoss.util.media.Media media = event.getMedia();
String fileName = "";
if(media!=null)
fileName = media.getName();
三种流:
java.io.InputStream ins = new java.io.ByteArrayInputStream(media.getStringData().getBytes());
java.io.InputStream ins = new java.io.ByteArrayInputStream(media.getByteData());
java.io.InputStream ins = new java.io.BufferedInputStream(media.getStreamData());
java.io.File f = new java.io.File("D:\\temp\\"+fileName);
if(!f.exists()){
f.createNewFile();
}
java.io.OutputStream out = new java.io.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("上传成功");
]]></attribute>
</button>
上传按扭监听器写法:
uploadBtn.addEventListener(Events.ON_UPLOAD, new EventListener() {
@Override
			public void onEvent(Event event) throws Exception {
				// TODO Auto-generated method stub
UploadEvent uploadEvent = (UploadEvent) event;
				Media media = uploadEvent.getMedia();
			}
		});
解决ZK文件上传中文问题:
第二种写法(zk8.0.0.1):
<a id="fileUploadA" label="导出文件"></a>
后台:
fileUploadA.addEventListener(Events.ON_CLICK, new EventListener<Event>() {
            @Override
            public void onEvent(Event event) throws Exception {
                Fileupload.get("选择文件", "上传", 2, 1000000, true);
                Executions.getCurrent().getDesktop().setAttribute(
                                    "org.zkoss.zul.Fileupload.target", fileUploadA);
            }
        });
        fileUploadA.addEventListener(Events.ON_UPLOAD, new EventListener<Event>() {
            @Override
            public void onEvent(Event event) throws Exception {
                UploadEvent uploadEvent = (UploadEvent) event;
                alert(uploadEvent.getMedias().length+"");
            }
        });
效果:

zk FileUpload(文件上传)的更多相关文章
- 对FileUpload文件上传控件的一些使用方法说明
		//创建时间:2014-03-12 //创建人:幽林孤狼 //说明:FileUpload文件上传控件使用说明(只是部分)已共享学习为主 //可以上传图片,txt文档.doc,wps,还有音频文件,视屏 ... 
- FileUpload文件上传控件
		1.FileUpload控件的主要功能是向指定目录上传文件.FileUpload控件不会自动上传控件,而需要设置相关的事件处理程序,然后在程序中实现文件上传. 2.FileUpload控件常见的属性 ... 
- ASP.NET中的FileUpload文件上传控件的使用
		本篇文章教大家如何将客户端的图片或者文件上传到服务器: 无论是上传图片(.jpg .png .gif等等) 文档(word excel ppt 等等). 第一步:放入以下三个控件 Image控件,Fi ... 
- apache fileupload 文件上传,及文件进度设置获取
		文件上传action处理: boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) ... 
- Commons FileUpload文件上传组件
		Java实现的文件上传组件有好几种,其中最为“官方”的要数Apache Commons库中的FileUpload了吧. 页面 <form method="POST" enct ... 
- Bootstrap  Fileupload  文件上传
		1.在jsp中引入css与js文件, <link href="${ctx}/plugins/fileup/css/fileinput.css" media="all ... 
- commons.fileupload  文件上传
		编辑jsp页面获取文件 <html> <head> <base href="<%=basePath%>"> <title> ... 
- 改变FileUpload文件上传控件的显示方式,确认后上传
		一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="File ... 
- 改变FileUpload文件上传控件的显示方式,选择文件后自动上传
		一.Aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="File ... 
- Spring  文件上传MultipartFile 执行流程分析
		在了解Spring 文件上传执行流程之前,我们必须知道两点: 1.Spring 文件上传是基于common-fileUpload 组件的,所以,文件上传必须引入此包 2.Spring 文件上传需要在X ... 
随机推荐
- Quick-Cocos2dx  快速了解
			set_dev_envirment // */ // ]]> Cocos2dx快速了解 1. Quick-Cocos2dx 开发环境搭建 1.1. 官网: 1.2. Github: 1.3. s ... 
- LoadRunner关联函数的脚本实例--如何操作关联参数
			LoadRunner关联函数的脚本实例--如何操作关联参数 这几天一直在学习LoadRunner的VuGen编程,今天想对关联函数web_reg_save_param做详细的试验和研究: ~f6p q ... 
- java.util.List接口的方法subList()的使用注意事项
			JDK中,List接口有一个实例方法List<E> subList(int fromIndex, int toIndex), 其作用是返回一个以fromIndex为起始索引(包含),以to ... 
- Class.forName()的作用与使用总结
			1.Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识.这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类 ... 
- Android集成支付宝的坑
			Android在集成支付宝sdk的时候, 如果有安装支付宝,则启动支付宝app进行支付: 如果没有安装,则启动 H5PayActivity 进行支付. 记得在AndroidManifest里面配置: ... 
- SU Demos-07NMO
			本例还不完善,不足之处,欢迎批评指正 先看readme 第1个脚本,显示速度模型 脚本#2,生成数据 脚本#3,显示合成数据 脚本#4,进行速度分析 脚本#5,动校叠加 
- node.js整理 01代码的组织和部署
			模块 require(函数) 用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象. 模块名可使用相对路径(以./开头),或者是绝对路径(以/或C:之类的盘符开头:注意单个模块名默 ... 
- ajax轮循
			使用 AJAX 进行异步加载轮询操作.简单代码如下: <script> // 执行ajax轮循操作 function polling(){ var xmlhttp; // 判断浏览器--创 ... 
- 转 Delphi Invalidate的用法
			1.Invalidate介绍 void Invalidate( BOOL bErase = TRUE ); 该函数的作用是使整个窗口客户区无效.窗口的客户区无效意味着需要重绘,例如,如果一个被其它窗口 ... 
- BFS+Hash(储存,判重) HDOJ 1067 Gap
			题目传送门 题意:一个图按照变成指定的图,问最少操作步数 分析:状态转移简单,主要是在图的存储以及判重问题,原来队列里装二维数组内存也可以,判重用神奇的hash技术 #include <bits ... 
