基于jspSmartUpload的JSP文件上传(一次可以上传多个文件)

可以一次上传多个文件

upload.html

<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="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>

do_upload.jsp

<%@ page contentType="text/html; charset=gb2312"  import="com.jspsmart.upload.SmartUpload"  %>
<html>
<head>
<title>中国网页设计:文件上传处理页面</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body>
<%
 SmartUpload su = new SmartUpload();
 su.initialize(pageContext); // 上传初始化
 su.upload(); // 上传文件
 int count = su.save("/upload");
 out.println(count+"个文件上传成功!<p />"); 
 // 逐一提取上传文件信息,同时可保存文件。
 for (int i=0;i<su.getFiles().getCount();i++)
 {        com.jspsmart.upload.File file = su.getFiles().getFile(i);
 // 若文件不存在则继续
  if (file.isMissing()) continue;
  
  // 显示当前文件信息
  out.println("文件长度(Size):" + file.getSize() + "<br />");
  out.println("文件名(FileName):" +  file.getFileName() + "<br />");
     out.println("文件扩展名(FileExt):" +  file.getFileExt());
  out.print("<br>___________________________<br>");
  
 }
%>

</body>
</html>

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2923.html

(0)
江山如画的头像江山如画管理团队
上一篇 2018年12月11日 下午3:14
下一篇 2018年12月11日 下午3:26

99%的人还看了以下文章

  • SyntaxError: Non-UTF-8 code starting with ‘xc1′,’xc4′,’xc7’,解决方法

    phython编程入门,新手学习phython会遇到*.py文件运行时,出现如下错误: SyntaxError: Non-UTF-8 code starting with ‘\xc7’ in file E:\Pythondemo\2.py on l ine 1, but no encoding declared; see http://python.org/…

    2019年8月23日
    4.3K0
  • oracle 计算时间差,包含年、月、日、时、分、秒

    在做系统时,如图书管理系统、车辆管理系统、事务管理系统等,经常需要我们计算两个日期相差多少天,图书是否应该归还,事情是否完成等。 今天给大家分享oracle 中如何计算时间差! oracle时间差是以天数为单位,所以换算成年月,日 select floor(to_number(sysdate-to_date(‘2018-11-02 15:55:03’,’yy…

    2018年2月13日
    3.0K0
  • 简!python中安装pip的方法

     pip的安装 打开cmd,输入以下命令安装pip: python -m ensurepip –default-pip 出现如下图所示,代表pip安装成功: 查看pip版本 pip –version 更新pip版本 python -m pip install –upgrade pip 安装库 例如安装pyyaml库,打开cmd输入以下命令: pip i…

    2023年5月18日
    1.2K0
  • js中var a=b=1和var a=1,b=1的区别

    js中一次性定义多个变量的时候,可以用:var a=1,b=1这种中间用逗号隔开的方式,但有些时候为了省事,直接定义var a=b=1。 那这两种写法方式最后效果是一样的吗?有没有什么区别呢?请大家看下面的范例: 1、用var a=b=1的方式 由上图可以明显看出来,变量b的作用域已经是全局的了,因为在函数外可以调用到(可以正常的输出变量)。 2、用var …

    2022年3月19日
    1.2K0
  • String、StringBuffer、StringBuilder的区别?

    String在实例化之后,其内存空间的内容大小是不能够被修改的;而StringBuffer是一个线程安全的可变字符序列,在实例化之后可以动态的修改堆内存中的内容,所以内存长度和大小是可变的;StringBuilder实例化之后内存大小长度也是可变的,不同之处在于StringBuilder不是线程同步,因此操作起来必然比StringBuffer更加高效。

    2018年10月24日
    1.8K0
  • JSP分页思想—核心代码

    try{condition=”select * from employee_info”; sql=conn.createStatement(); rs=sql.executeQuery(condition); int intPageSize; //一页显示的记录数 int intRowCount; //记录总数 int intPageCount; //总页数…

    2019年10月30日
    1.9K0

发表回复

登录后才能评论