TA的每日心情 | 开心 2021-3-12 23:18 |
---|
签到天数: 2 天 [LV.1]初来乍到
|
common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/site/binindex.cgi下载。该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps你的应用程序的WEB-INFlib下,如果目录不存在请自建目录。
下面用到的另外两个目录都要先创建(请下载的我的文件夹参考),一是用于存放上传文件的目录dir,二是存放临时文件的目录temp。
含有表单的上传HTML文件,upload.html
<html>
<head>
<title>文件上传</title>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
</head>
<body>
<b>文件上传</b></font></p>
<form name="UploadForm" enctype="multipart/form-
data" method="post" action="upload.jsp">
<input type="file" name="File1" size="20" maxlength="20">
<br>
<input type="file" name="File2" size="20" maxlength="20">
<br>
<input type="submit"value="上传">
</form>
</body>
</html>
下面是处理表单的jsp文件:upload.jsp
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.io.File" %>
<%@ page contentType="text/html;charset=gb2312" %>
<%
String temp=getServletContext().getRealPath("/")+"temp"; //临时目录
String loadpath=getServletContext().getRealPath("/")+"dir"; //上传文件存放目录
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(1*1024*1024); // 设置允许用户上传文件大小,单位:字节
fu.setSizeThreshold(4096); // 设置最多只允许在内存中存储的数据,单位:字节
fu.setRepositoryPath(temp); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
//开始读取上传信息
List fileItems = fu.parseRequest(request);
Iterator iter = fileItems.iterator(); // 依次处理每个上传的文件
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();//获取上传文件名,包括路径
name=name.substring(name.lastIndexOf("\")+1);//从全路径中提取文件名
// out.println(name);
long size = item.getSize();
if((name==null||name.equals("")) && size==0)
continue;
out.println(item.getName()+" Size="+item.getSize()+"<br>");//输出上传文件信息
File fNew= new File(loadpath, name);
item.write(fNew);
}
}
%>
源码下载:http://file.javaxxz.com/2014/10/1/060100172.zip |
|