可以限制文件大小,类型,支持中文,多文件上传,并且可以存到指定目录
直接上代码,有问题直接提
<?xml version="1.0" encoding="GBK"?>
<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:\\temp\\"+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>
<window title="Fileupload Demo" border="normal">
<image id="image"/>
<button label="Upload">
<attribute name="onClick">{
Object media = Fileupload.get();
if (media instanceof org.zkoss.image.Image)
image.setContent(media);
else if (media != null)
Messagebox.show("Not an image: "+media, "Error",
Messagebox.OK, Messagebox.ERROR);
}
</attribute>
</button>
</window>
<window title="fileupload demo" border="normal">
<button label="Upload">
<attribute name="onClick"><![CDATA[{
Object media = Fileupload.get(5);
if (media != null)
for (int j = 0; j < media.length; ++j) {
if (media[j] instanceof org.zkoss.image.Image) {
Image image = new Image();
image.setContent(media[j]);
image.setParent(pics);
} else if (media[j] != null) {
Messagebox.show("Not an image: "+media[j], "Error",
Messagebox.OK, Messagebox.ERROR);
}
}
}]]>
</attribute>
</button>
<vbox id="pics"/>
</window>
分享到:
相关推荐
开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2开发工具 commons-fileupload-1.3.2...
ASP.NET的FileUpload控件是Web开发中用于处理文件上传功能的重要组件。它允许用户从他们的本地计算机选择一个或多个文件,并将这些文件上传到服务器。在本文中,我们将深入探讨FileUpload控件的基本用法,包括如何在...
在.NET框架中,FileUpload控件是用于处理用户在Web应用程序中上传文件的关键组件。它允许用户选择本地计算机上的文件,并将其发送到服务器进行进一步处理。在这个特定的场景中,我们关注的是FileUpload控件的自动...
commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-fileupload-1.2.2commons-...
赠送jar包:commons-fileupload-1.4.jar; 赠送原API文档:commons-fileupload-1.4-javadoc.jar; 赠送源代码:commons-fileupload-1.4-sources.jar; 赠送Maven依赖信息文件:commons-fileupload-1.4.pom; 包含...
在这个压缩包中,包含了`commons-fileupload-1.3.1-sources.jar`和`commons-fileupload-1.3.1.jar`两个文件,前者提供了源代码,后者是编译后的类库文件。 FileUpload组件的核心功能是解析HTTP请求中的多部分数据...
Apache Commons FileUpload库是一个强大的工具,专门设计用于处理这种需求。本篇将详细讲解使用FileUpload组件实现JSP文件上传所需的步骤和关键知识点。 首先,`fileUpload组件`是Apache Commons项目的一个子项目,...
赠送jar包:commons-fileupload-1.3.3.jar; 赠送原API文档:commons-fileupload-1.3.3-javadoc.jar; 赠送源代码:commons-fileupload-1.3.3-sources.jar; 赠送Maven依赖信息文件:commons-fileupload-1.3.3.pom;...
《Apache Commons FileUpload组件详解》 Apache Commons FileUpload是一个用于处理HTTP请求中多部分数据的Java库,尤其在上传文件时极为有用。标题中的"commons-fileupload-1.4-bin.zip"表明这是一个包含Apache ...
commons commons-fileupload历史版本jar包集合,包括src源码 附件列表: commons-fileupload-1.0.zip commons-fileupload-1.1.1.zip commons-fileupload-1.1.zip commons-fileupload-1.2.1-bin.zip commons-...
【FileUpload】是一个基于JSP技术的文件上传组件,它使用了特定的JAR包来实现文件上传功能。在Web应用中,文件上传是常见的需求,例如用户可能需要上传个人头像、文档或其他数据。FileUpload组件使得开发者能够轻松...
Apache组织作为开源社区的巨头之一,为开发者提供了一系列强大的工具,其中包括用于处理文件上传的组件——FileUpload。这个组件极大地简化了在Java Web应用中实现文件上传的过程。 FileUpload组件主要基于Servlet...
标题中的"commons-fileupload-1.3.3&commons-fileupload-1.3.3架包和代码.rar"提到了Apache Commons FileUpload的1.3.3版本的库及其源码。Apache Commons FileUpload是一个Java库,专门用于处理HTTP协议中的多部分...
### ASP.NET中FileUpload控件内容清空方法详解 在ASP.NET Web开发中,`FileUpload` 控件常被用于实现文件上传功能。但在某些情况下,我们可能需要清空该控件的内容,例如用户取消了文件选择或者上传操作。本文将...
标题中的"commons-fileupload-1.3.3-bin.tar.gz"是一个压缩包文件,包含了Apache Commons FileUpload 1.3.3版本的二进制(bin)文件,通常包括JAR库和其他必要的资源。 Apache Commons FileUpload的工作原理是基于...
### FileUpload 使用文档详解 #### 一、概述 在当今互联网时代,文件上传已经成为网站交互不可或缺的一部分。无论是发送电子邮件附件还是分享个人照片,文件上传功能都扮演着重要角色。然而,实现这一功能并非易事...
Commons FileUpload 1.3.2. The Apache Commons FileUpload component provides a simple yet flexible means of adding support for multipart file upload functionality to servlets and web applications. ...
<jsp:useBean id="myUpload" scope="page" class="fileUpload.upBean" /> //初始化工作 myUpload.initialize(pageContext); //设定允许的文件后缀名 //myUpload.setAllowedExtList("gif,jpg"); //设定允许...
"fileupload-1.2.1.zip" 是一个包含 Apache Commons FileUpload 1.2.1 版本的压缩包。Apache Commons FileUpload 是一个Java库,专门用于处理HTTP请求中的多部分数据,即通常在上传文件时使用的格式。这个库使得在...
"一个漂亮的fileupload控件"这个标题所指的,就是一种优化了上传文件功能的UI组件。FileUpload控件是网页表单中常见的一种元素,它允许用户选择本地计算机上的文件并将其上传到服务器。在这里,描述提到这个控件是...