JSP smartupload 文件上传

来源:互联网 发布:无人机模拟飞行软件 编辑:程序博客网 时间:2024/05/12 15:46
  
文件上传篇 ㈠ 表单要求 对于上传文件的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>
原创粉丝点击