当前页面: 开发资料首页 → JSP 专题 → 求fileupload文件上传例子
求fileupload文件上传例子
摘要: 求fileupload文件上传例子
在网上找了一些例子,大部分是fileupload1.0版本的代码,我只下载到了fileupload1.1版本的包,1.1的包有改动,所以例子用不了。
求fileupload1.1版本的上传代码,或fileupload1.0的包,包给我发邮件吧:marine_chen@163.com
急,多谢!!
你要的是 commons-fileupload-1.0.jar 这个包吗?我发给你.
对,就是这个包 ,多谢啊
EC生成STRUTS工程,会自动加载这个包的
用fileupload,用于用户量大、文件大的上传,稳定性如何呢?
去mylinux.net.cn上搜索上传有比较多的资料
commons-fileupload-1.1.1.jar
commons-io-1.2.jar
commons-beanutils.jar
3个包
Upload.html:
<head>
文件上传演示</head>
<body bgcolor="#3399CC" text="#000000" leftmargin="0" topmargin="40" marginwidth="0" marginheight="0">
文件上传演示
<form name="uploadform" method="POST" action="save.jsp" ENCTYPE="multipart/form-data">
<table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF">
<tr><td width="100%" colspan="2">
文件1:<input name="file1" size="40" type="file">
</td></tr>
<tr><td width="100%" colspan="2">
文件2:<input name="file2" size="40" type="file">
</td></tr>
<tr><td width="100%" colspan="2">
文件3:<input name="file3" size="40" type="file">
</td></tr>
</table>
<table>
<tr><td align="center"><input name="upload" type="submit" value="开始上传"/></td></tr>
</table>
</form>
</body>
save.jsp:
<%@ page language="java"contentType="text/html;charset=GBK"%>
<%@ page import="java.util.*"%>
<%@ page import="java.io.*"%>
<%@ page import="org.apache.commons.fileupload.*"%>
<head>
保存上传文件</head>
<%
System.out.println("...save.jsp....");
String msg = "";
org.apache.commons.fileupload.DiskFileUpload fu = new org.apache.commons.fileupload.DiskFileUpload(); // 此处有修改。。
// 设置允许用户上传文件大小,单位:字节
fu.setSizeMax(100000000);
// maximum size that will be stored in memory?
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath("D://temp");
//开始读取上传信息
List fileItems = fu.parseRequest(request);
%>
<body bgcolor="#FFFFFF"text="#000000" leftmargin="0"topmargin="40"marginwidth="0" marginheight="0">
文件列表:
<table cellpadding=0 cellspacing=1 border=1 width="100%">
<tr>
<td bgcolor="#008080">文件名</td>
<td bgcolor="#008080">大小</td>
</tr>
<%
// 依次处理每个上传的文件
Iterator iter = fileItems.iterator();
while (iter.hasNext()) {
org.apache.commons.fileupload.FileItem item = (org.apache.commons.fileupload.FileItem) iter.next(); // 此处有修改。。
//忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
%>
<tr>
<td><%=item.getName()%></td>
<td><%=item.getSize()%></td>
</tr>
<%
//保存上传的文件到指定的目录
name = name.replace(':','_');
name = name.replace('//','_');
java.io.File f1=new java.io.File("F://"+ name); // 此处有修改。。
item.write(f1); // 此处有修改。。
}
}
%>
</table>
返回上传页面
</body>
就OK了
是啊,惟一不爽就是其他控件的值都要循环获取,很不爽
DiskFileUpload 用 ServletFileUpload 代替,位于 org.apache.commons.fileupload.servlet。