1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title></title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  6. </head>
  7. <body>
  8. <div>
  9. <form action="UploadServlet3" method="POST" enctype="multipart/form-data">
  10. <table>
  11. <tr>
  12. <td><label for="file1">文件1:</label></td>
  13. <td><input type="file" id="file1" name="file"></td>
  14. </tr>
  15. <tr>
  16. <td><label for="file2">文件2:</label></td>
  17. <td><input type="file" id="file2" name="file"></td>
  18. </tr>
  19. <tr>
  20. <td><label for="file3">文件3:</label></td>
  21. <td><input type="file" id="file3" name="file"></td>
  22. </tr>
  23. <tr>
  24. <td colspan="2"><input type="submit" value="上传" name="upload"></td>
  25. </tr>
  26. </table>
  27. </form>
  28. </div>
  29. </body>
  30. </html>

 

  1. @MultipartConfig(location = "e:/workspace")
  2. @WebServlet(name = "UploadServlet", urlPatterns = {"/UploadServlet"})
  3. public class UploadServlet extends HttpServlet {
  4.  
  5. /**
  6. * Processes requests for both HTTP
  7. * <code>GET</code> and
  8. * <code>POST</code> methods.
  9. *
  10. * @param request servlet request
  11. * @param response servlet response
  12. * @throws ServletException if a servlet-specific error occurs
  13. * @throws IOException if an I/O error occurs
  14. */
  15. protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  16. throws ServletException, IOException {
  17. request.setCharacterEncoding("utf-8");
  18. //迭代Collection中所有Part对象
  19. for (Part part : request.getParts()) {
  20. //只处理上传文件区段
  21. if (part.getName().startsWith("file")) {
  22. String fileName = getFileName(part);
  23. part.write(fileName);
  24. }
  25. }
  26. }
  27.  
  28. private String getFileName(Part part) {
  29. String header = part.getHeader("Content-Disposition");
  30. String fileName = header.substring(header.indexOf("filename=\"") + 10, header.lastIndexOf("\""));
  31. header.lastIndexOf("\"");
  32. return fileName;
  33. }
  34.  
  35. // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
  36. /**
  37. * Handles the HTTP
  38. * <code>GET</code> method.
  39. *
  40. * @param request servlet request
  41. * @param response servlet response
  42. * @throws ServletException if a servlet-specific error occurs
  43. * @throws IOException if an I/O error occurs
  44. */
  45. @Override
  46. protected void doGet(HttpServletRequest request, HttpServletResponse response)
  47. throws ServletException, IOException {
  48. processRequest(request, response);
  49. }
  50.  
  51. /**
  52. * Handles the HTTP
  53. * <code>POST</code> method.
  54. *
  55. * @param request servlet request
  56. * @param response servlet response
  57. * @throws ServletException if a servlet-specific error occurs
  58. * @throws IOException if an I/O error occurs
  59. */
  60. @Override
  61. protected void doPost(HttpServletRequest request, HttpServletResponse response)
  62. throws ServletException, IOException {
  63. processRequest(request, response);
  64. }
  65.  
  66. /**
  67. * Returns a short description of the servlet.
  68. *
  69. * @return a String containing servlet description
  70. */
  71. @Override
  72. public String getServletInfo() {
  73. return "Short description";
  74. }// </editor-fold>
  75. }

  

 

使用getParts()上传多个文件的更多相关文章

  1. 强大的支持多文件上传的jQuery文件上传插件Uploadify

    支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Fla ...

  2. spring mvc文件上传(单个文件上传|多个文件上传)

    单个文件上传spring mvc 实现文件上传需要引入两个必须的jar包    1.所需jar包:                commons-fileupload-1.3.1.jar       ...

  3. SecureCRT上传和下载文件

    SecureCRT上传和下载文件(下载默认目录) SecureCR 下的文件传输协议有ASCII .Xmodem .Ymodem .Zmodem ASCII:这是最快的传输协议,但只能传送文本文件. ...

  4. thinkphp如何一次性的上传多个文件,在文件域中可以多选?

    可以做到类似于某度网盘的样式吗? 文件夹的命名, 可以用单数, 也可以用复数, 在同一个项目中, 只要统一就好了. 毕竟项目开发不同于英语写作. 建议使用缩写, 不管是不是缩写都用单数, 这样简洁,容 ...

  5. Drupal8重命名上传的中文名文件

    完整的模块代码文件在Coding.net上,想直接使用的请前往下载:https://coding.net/u/yamus/p/chinese_rename/git/tree/master 最近吧Dru ...

  6. WordPress上传含有中文文件出现乱码

    最近打算学习安装配置WordPress,当然同时也在学习PHP+MySQL,希望以后能做一些关于WordPress定制和二次开发,包括主题和插件.在成功安装WordPress3.5中文版之后,就测试了 ...

  7. 11、只允许在主目录下上传和下载文件,不允许用putty登录

    创建用户xiao,   使其只允许在用户主目录 (/var/www/html)下上传和下载文件,不允许用putty登录 (为了安全起见,不给过多的权限) 1.创建xiao用户 [root@localh ...

  8. 每天一个linux命令(26):用SecureCRT来上传和下载文件

    用SSH管理linux服务器时经常需要远程与本地之间交互文件.而直接用SecureCRT自带的上传下载功能无疑是最方便的,SecureCRT下的文件传输协议有ASCII.Xmodem.Zmodem. ...

  9. BatsingJSLib 2.3、Ajax上传多个文件

    //2.3Ajax上传单个或多个文件 //<input type="file" multiple="multiple"/> //参数:文件的表单JD ...

随机推荐

  1. 16 Promise

    Promise 特点 对象的状态不受外界影响.Promise对象代表一个异步操作,有三种状态:Pending(进行中).Resolved(已完成,又称Fulfilled)和Rejected(已失败). ...

  2. HDU 4081Qin Shi Huang's National Road System(次小生成树)

    题目大意: 有n个城市,秦始皇要修用n-1条路把它们连起来,要求从任一点出发,都可以到达其它的任意点.秦始皇希望这所有n-1条路长度之和最短.然后徐福突然有冒出来,说是他有魔法,可以不用人力.财力就变 ...

  3. zapewnia stale poprawiając relacje związane

    W porównaniu do LG5, ta http://www.butyrunning.com/lunarestoa-2-m%C3%84%C2%99skie-c-2_70_71.html kon ...

  4. ORM之殇,我们需要什么样的ORM框架?

    最近在研究ORM,究竟什么样的框架才是我们想要的 开发框架的意义在于 开发更标准,更统一,不会因为不同人写的代码不一样 开发效率更高,无需重新造轮子,重复无用的代码,同时简化开发流程 运行效率得到控制 ...

  5. wamp 局域网访问

    1.关闭防火墙 2.设置apache 的httpd.conf 第278行 正确代码如下 # onlineoffline tag - don't remove Require all granted O ...

  6. mysql-开启慢查询&所有操作记录日志

    在运营网站的过程中,可能会遇到网站突然变慢的问题,一般情况下和 MySQL 慢有关系,可以通过开启慢查询,找到影响效率的 SQL ,然后采取相应的措施.下面介绍一下如何开启慢查询: 1.开启慢查询 找 ...

  7. 为什么现在更多需要用的是 GPU 而不是 CPU,比如挖矿甚至破解密码?

    作者:Cascade链接:https://www.zhihu.com/question/21231074/answer/20701124来源:知乎著作权归作者所有,转载请联系作者获得授权. 想要理解G ...

  8. [从产品角度学excel 04]-单元格的“衣服”

    忘记发这里了..补发一下 这是<从产品角度学EXCEL>系列——单元格篇. 前言请看: 0 为什么要关注EXCEL的本质 1 excel是怎样运作的 2 EXCEL里的树形结构 3 单元格 ...

  9. yum 操作复习

    RPM与YUM是配合使用的. rpm负责从网站或指定的文件路径,获取到rpm软件包.也就是说你要安装什么服务或软件,就要先找到rpm包,下载下来.也就是通常说的配置yum源. 啥是yum源.你下载下的 ...

  10. jQuery EasyUI Combobox 无法获取属性 options 的值: 对象为 null 或未定义

    错误的写法: $('#combobox1').combobox({ valueField: 'id', textField: 'text',data:[{id:1,text:'蚂蚁小羊'}]}); 正 ...