java_文件域上传

1.导包:commons-fileupload-1.2.2 & commons-io=2.0.1

2.设置上传的表单属性: <form action="dealUploadServlet" method="post" enctype="multipart/form-data"></form>

3.在dealUploadServlet进行处理:

  3.1 FileItemFactory fac=new DiskItemFactory();

    ServletFileUpload su=new ServletFileUpload(fac);

    List<FileItem> list=su.parseRequest(request);

  3.2 循环list,分别对非文件和文件域进行处理

    3.2.1 非文件:  if(item.isFormField()) {

      //根据不同的非文件内容,存储到不同的变量中

      if(item.getFieldName()=="txt")//获取 name为txt的 item

      {

        String txt=item.getString("utf-8");

      }

    }

    3.2.2 文件域: 

     else {
     //限制上传的类型
     if (item.getName().substring(
       item.getName().lastIndexOf(".") + 1) == "docx") {
      //获取服务器端的路径
      String path = this.getServletContext().getRealPath(
        "upload");
      File f = new File(path);
      if (!f.exists()) {
       //创建存储路径
       f.mkdirs();
      }
      try {
       //写入文件中
       item.write(new File(path, new String(item.getName()
         .getBytes(), "utf-8")));// 防止文件名称乱码问题
      } catch (Exception e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
     }else{
      PrintWriter pw=response.getWriter();
      pw.write("文件格式不是docx");
     }
    }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。