jspSmartUpload上传下载全攻略(三、文件上传篇 )

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

三、文件上传篇

㈠ 表单要求

对于上传文件的FORM表单,有两个要求:

1、METHOD应用POST,即METHOD="POST"。

2、增加属性:ENCTYPE="multipart/form-data"

下面是一个用于上传文件的FORM表单的例子:

<FORM METHOD="POST" ENCTYPE="multipart/form-data"

ACTION="/jspSmartUpload/upload.jsp">

<INPUT TYPE="FILE" NAME="MYFILE">

<INPUT TYPE="SUBMIT">

</FORM>

㈡ 上传的例子

1、上传页面upload.html

本页面提供表单,让用户选择要上传的文件,点击"上传"按钮执行上传操作。

页面源码如下:

<!--

文件名:upload.html

作 者:纵横软件制作中心雨亦奇(zhsoft88@sohu.com)

-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>文件上传</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

</head>

<body>

<p>&nbsp;</p>

<p align="center">上传文件选择</p>

<FORM METHOD="POST" ACTION="jsp/do_upload.jsp"

ENCTYPE="multipart/form-data">

<input type="hidden" name="TEST" value="good">

<table width="75%" border="1" align="center">

<tr>

<td><div align="center">1、

<input type="FILE" name="FILE1" size="30">

</div></td>

</tr>

<tr>

<td><div align="center">2、

<input type="FILE" name="FILE2" size="30">

</div></td>

</tr>

<tr>

<td><div align="center">3、

<input type="FILE" name="FILE3" size="30">

</div></td>

</tr>

<tr>

<td><div align="center">4、

<input type="FILE" name="FILE4" size="30">

</div></td>

</tr>

<tr>

<td><div align="center">

<input type="submit" name="Submit" value="上传它!">

</div></td>

</tr>

</table>

</FORM>

</body>

</html>

2、上传处理页面do_upload.jsp

本页面执行文件上传操作。页面源码中详细介绍了上传方法的用法,在此不赘述了。

页面源码如下:

<%--

文件名:do_upload.jsp

作 者:纵横软件制作中心雨亦奇(zhsoft88@sohu.com)

--%>

<%@ page contentType="text/html; charset=gb2312" language="java"

import="java.util.*,com.jspsmart.upload.*" errorPage="" %>

<html>

<head>

<title>文件上传处理页面</title>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

</head>

<body>

<%

// 新建一个SmartUpload对象

SmartUpload su = new SmartUpload();

// 上传初始化

su.initialize(pageContext);

// 设定上传限制

// 1.限制每个上传文件的最大长度。

// su.setMaxFileSize(10000);

// 2.限制总上传数据的长度。

// su.setTotalMaxFileSize(20000);

// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。

// su.setAllowedFilesList("doc,txt");

// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,

jsp,htm,html扩展名的文件和没有扩展名的文件。

// su.setDeniedFilesList("exe,bat,jsp,htm,html,,");

// 上传文件

su.upload();

// 将上传文件全部保存到指定目录

int count = su.save("/upload");

out.println(count+"个文件上传成功!<br>");

// 利用Request对象获取参数之值

out.println("TEST="+su.getRequest().getParameter("TEST")

+"<BR><BR>");

// 逐一提取上传文件信息,同时可保存文件。

for (int i=0;i<su.getFiles().getCount();i++)

{

com.jspsmart.upload.File file = su.getFiles().getFile(i);

// 若文件不存在则继续

if (file.isMissing()) continue;

// 显示当前文件信息

out.println("<TABLE BORDER=1>");

out.println("<TR><TD>表单项名(FieldName)</TD><TD>"

+ file.getFieldName() + "</TD></TR>");

out.println("<TR><TD>文件长度(Size)</TD><TD>" +

file.getSize() + "</TD></TR>");

out.println("<TR><TD>文件名(FileName)</TD><TD>"

+ file.getFileName() + "</TD></TR>");

out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>"

+ file.getFileExt() + "</TD></TR>");

out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"

+ file.getFilePathName() + "</TD></TR>");

out.println("</TABLE><BR>");

// 将文件另存

// file.saveAs("/upload/" + myFile.getFileName());

// 另存到以WEB应用程序的根目录为文件根目录的目录下

// file.saveAs("/upload/" + myFile.getFileName(),

su.SAVE_VIRTUAL);

// 另存到操作系统的根目录为文件根目录的目录下

// file.saveAs("c:\\temp\\" + myFile.getFileName(),

su.SAVE_PHYSICAL);

}

%>

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航