<small id="yahdu"></small>

    1. <mark id="yahdu"></mark>

      本地文件上传到服务器

      表单:

       

      <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后,即可实现本地文件上传至指定的服务器目录。

      相关文章
      相关标签/搜索
      4887铁算盘四肖中特香港马会开码结果直播 开奖结果-香港最快开奖现场直播-王中王资料 一肖中特-2018年管家婆彩图 今天-王中王中特网资料大全 白小姐