<address id="xtb1b"></address>
<sub id="xtb1b"></sub>

<address id="xtb1b"><var id="xtb1b"></var></address><sub id="xtb1b"></sub>

      <sub id="xtb1b"></sub>

      <sub id="xtb1b"><var id="xtb1b"></var></sub>
      <address id="xtb1b"></address>

      <sub id="xtb1b"><var id="xtb1b"><output id="xtb1b"></output></var></sub>

      <sub id="xtb1b"><dfn id="xtb1b"></dfn></sub>

      本地文件上传到服务器

      表单:

       

      <form action="A" method="post" enctype="multipart/form-data"> <!-- 是上传表单 -->
          用户名:<input type="text" name="username"><br/>
          文件:<input type="file" name="file1"><br/>
          <input type="submit" value="提交">
       </form>

       

      Servlet:

       

      public class Servlet extends HttpServlet {
          public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              //1.创建文件上传工厂类
              DiskFileItemFactory fac = new DiskFileItemFactory();
              //2.创建文件上传核心类
              ServletFileUpload upload = new ServletFileUpload(fac);
              //[设置单个文件最大上传大小:30M]
              upload.setFileSizeMax(30*1024*1024);
              //[设置总的文件最大上传大小:50M]
              upload.setSizeMax(50*1024*1024);
      
              //判断表单是否为文件上传表单
              if(upload.isMultipartContent(request)){
                  //3.把请求数据转换为FileItem对象集合
                  try {
                      List<FileItem> items = upload.parseRequest(request);
                      //遍历每一个上传项
                      for(FileItem item:items){
                          //再判断是普通表单还是文件上传表单
                          if(item.isFormField()){
                              //普通表单
                              System.out.println("普通表单");
                              //获取元素名称
                              String fileName = item.getFieldName();
                              //获取文本框的值
                              String value = item.getString("UTF-8");
                              System.out.println(fileName+":"+value);
      
                          }else{
                              //处理文件上传
      
                              //获取上传文件的名字
                              String name = item.getName();
                              System.out.println(name);
                              //获取上传的目录路径,指定文件存储路径
                              String basePath = "G:/IntelliJ IDEA 2018.2.4/DynamicWeb/src/";  /*绝对路径,存放到服务器中的路径*/
                              //创建文件对象
                              File file = new File(basePath,name);
                              try {
                                  item.write(file);
                              } catch (Exception e) {
                                  // TODO Auto-generated catch block
                                  e.printStackTrace();
                              }//写文件
                              item.delete();//删除临时文件
                          }
                      }
                  } catch (FileUploadException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
              }else{
              System.out.println("文件上传异常,不处理!");
          }
      
          }
      
          public void doPost(HttpServletRequest request, HttpServletResponse response)
                  throws ServletException, IOException {
              this.doGet(request, response);
          }
      }

       

      将表单提交到Servlet后,即可实现本地文件上传至指定的服务器目录。

      相关文章
      相关标签/搜索
      三期之内心开一肖