返回首页
当前位置: 主页 > 网络编程 > Jsp实例教程 >

利用JAVA/JSP实现一次性上传多个附件程序代码

时间:2010-10-21 10:26来源:知行网www.zhixing123.cn 编辑:麦田守望者

方法1:
利用 Oreilly MultiPartRequest
使用方法:
File.htm
<html>
<head>
<title>File Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>
<body bgcolor="#FFFFFF" text="#000000"><p><font size="5"color="#FF0000">
<b>上传示例</b></font></p>

<form name="Form1" enctype="multipart/form-data" method="post" action="File.jsp">
<p>文件 1: <input type="file"name="File1" size="20" maxlength="20"> </p>
<p>描述: <input type="text" name="File1" size="30" maxlength="50"> </p>
<p>文件 2: <input type="file" name="File2" size="20" maxlength="20"> </p>
<p>描述: <input type="text" name="File2" size="30" maxlength="50"> </p>
<p>文件3: <input type="file" name="File3" size="20" maxlength="20"> </p>
<p>描述: <input type="text" name="File3" size="30" maxlength="50"> </p>
<p> <input type="submit"value="上传"> <input type="reset" value="清除"> </p>
</form>

</body>
</html>
File.jsp

<%@ page language="java" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest" %>

<%!
// 上传文件到服务器的C:\Upload目录中
// 限制上传文件大小为 5 MB
String saveDirectory = "C:\\Upload\\";
int maxPostSize = 5 * 1024 * 1024 ;

// 定义上传文件內容的类型
String FileDescription[] = {null,null,null};

// 定义上传文件名称
String FileName = null;
// 计算上传文件个数
int count = 0 ;
%>

<html>
<head>
<title>File Upload</title>
</head>

<%
// 创建一个新的MultipartRequest 的组件,multi
MultipartRequest multi = new MultipartRequest(request , saveDirectory , maxPostSize );
%>
<body>
<%
// 判断是否取得文件描述,
// 若有,将数据給FileDescription
// 若无,將FileDescription的內容设为空白字串

if ( multi.getParameter("File1") != null )
{
FileDescription[0] = multi.getParameter("File1");
}
else
{
FileDescription[0] = "";
}

if ( multi.getParameter("File2") != null )
{
FileDescription[1] = multi.getParameter("File2");
}
else
{
FileDescription[1] = "";
}

if ( multi.getParameter("File3") != null )
{
FileDescription[2] = multi.getParameter("File3");
}
else
{
FileDescription[2] = "";
}

// 获取所有上传的文件类型和名称
Enumeration filesname = multi.getFileNames();
while (filesname.hasMoreElements())
{
String name = (String) filesname.nextElement();
FileName = multi.getFilesystemName(name);
File f = multi.getFile(name);
String ContentType = multi.getContentType(name);

if (FileName != null)
{
count ++;

%>
<font color="red">你上传的第<%= count %>个文件:</font><br>
文件名称:<%= FileName %><br>
文件类型:<%= ContentType %><br>
文件描述:<%= FileDescription[count-1] %><br><br>

<%
} // end if
} // end while
%>
您共上传<font color="red"><%= count %></font>个文件
</body>
</html>

说明:MultipartRequest 是O'Reilly公司开发的开源工具
下载地址:http://www.servlets.com/resources/com.oreilly.servlet

开始先取得文件名,即input type="file" name="xxxx" >中的xxxx,根据File.htm中的内容,filesname的內容分別由File1、File2和File3组成。再使用filesname.nextElement(),将他们一一取出,存入到name的变量中,而name的内容就是File1或File2或File3,最后再利用name,取到真正的文件名称和类型、数目等。
 

顶一下
(0)
0%
踩一下
(5)
100%
标签(Tag):Java JAVA实例教程 JAVA基础教程 java代码 java源码
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片