首页
论坛
图书
开发资料
在线文档
网址
下载
联系我们
 新闻│Java│JavaScript│Eclipse│Eclipse 英文│J2EE│J2ME│J2SE│JSP│Netbeans│Hibernate│JBuilder│Spring│Struts
站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → 使用FileUpload组件实现文件上传

使用FileUpload组件实现文件上传

摘要: 使用FileUpload组件实现文件上传

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/site/binindex.cgi下载。该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。
下载后解压zip包,将commons-fileupload-1.0.jar复制到tomcat的webapps你的应用程序的WEB-INF\lib下,如果目录不存在请自建目录。
下面用到的另外两个目录都要先创建(请下载的我的文件夹参考),一是用于存放上传文件的目录dir,二是存放临时文件的目录temp。

<table width="665" border="0"> <tr> <td width="389">
含有表单的上传html文件,upload.html

<head>
文件上传

</head>
<body>
文件上传



<form name="UploadForm" enctype="multipart/form-data" method="post" action="upload.jsp">
<input type="file" name="File1" size="20" maxlength="20">

<input type="file" name="File2" size="20" maxlength="20">

<input type="submit"value="上传">
</form>

</body>

</td> <td width="266"> </td> </tr> </table>

下面是处理表单的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()+"
");//输出上传文件信息

File fNew= new File(loadpath, name);

item.write(fNew);

}
}
%>

function TempSave(ElementID) { CommentsPersistDiv.setAttribute("CommentContent",document.getElementById(ElementID).value); CommentsPersistDiv.save("CommentXMLStore"); } function Restore(ElementID) { CommentsPersistDiv.load("CommentXMLStore"); document.getElementById(ElementID).value=CommentsPersistDiv.getAttribute("CommentContent"); } </td> </tr> <tr>


↑返回目录
前一篇: 年、日、月,周访问量统计
后一篇: 一个完整的新闻发布系统

首页 | 全站 Sitemap | 联系我们 | 设为首页 | 收藏本站
版权所有 Copyright © 2006-2007, Java 编程资料牛鼻站, All rights reserved