基于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%的人还看了以下文章

  • Cookie和Session的区别及工作原理

    本文详细分析了Cookie和Session的区别及工作原理,并对Cookie和Session安全性进行了对比。

    编程开发 2020年2月11日
    5.9K0
  • pycharm 中 plt.imshow(img)图片不显示的解决方法(附案例)

    #%matplotlib inline # 使用%matplotlib命令可以将matplotlib的图表直接嵌入到Notebook之中,或者使用指定的界面库显示图表,它有一个参数指定matplotlib图表的显示方式。inline表示将图表嵌入到Notebook中。 # Python提供了许多魔法命令,使得在IPython环境中的操作更加得心应手。魔法命令…

    2023年1月13日
    4.2K0
  • 第4课:标识符和关键字

     1.标识符 在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义。C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。 以下标识符是合法的:        a, x,  x3, BOOK_1, sum5 以下标识符是非法的:     3a …

    2020年4月5日
    6.3K0
  • String、StringBuffer、StringBuilder的区别?

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

    2018年10月24日
    2.6K0
  • 19个常用SQL数据库命令(函数、运算符)讲解

    讲解了19个常用的sql语句!

    2023年1月29日
    4.9K0
  • MVC详解:模型(Model)-视图(View)-控制器(Controller)

    MVC(模型-视图-控制结构)是软件开发中常用的一种架构模式。它强制性的将输入、处理和输出分开。使应用程序被分成三个核心部件:模型 (Model)、视图(View)和控制(Controller)。它们各自处理自己的任务,有效地分离存储数据和展示数据功能模块以降低它们之间的耦合度。 MVC体系结构: 模型层主要负责保存和访问业务数据,执行业务逻辑和操作。这一层…

    2020年2月23日
    7.0K0

发表回复

登录后才能评论