美文网首页
31.文件上传下载-基于Apache FileUpload组件

31.文件上传下载-基于Apache FileUpload组件

作者: 若愚同学 | 来源:发表于2018-06-19 23:26 被阅读0次

    使用Apache FileUpload上传组件实现文件上传.

    步骤:
    //1.导jar包
    commons-fileupload-1.2.2.jar      commons-io-1.4.jar
    
    //2.
    参考压缩包中的commons-fileupload-1.2.2/site/using.html文件
    
    检查请求的相关条件(请求方式是否是post,请求的编码类型是否是multipary/打头)
    boolean isMulti = ServletFileUpload.isMultipartContent(req);
    
    if(isMulti){
        return;
    }
    
    try {
        //2.创建一个FileItem的工厂对象.
        DiskFileItemFactory factory = new DiskFileItemFactory();
        //通过factory对象,去创建文件上传处理器
        ServletFileUpload upload = new ServletFileUpload(factory);
        //解析请求,解析之后,得到Fileitem的集合,将表单元素封装 成一个一个的FileItem对象
        List<FileItem> list = upload.parseRequest(req);
        for (FileItem item : list) {
            //此时item有可能是普通的控件,也有可能是上传控件
            if(item.isFormField()){//普通数据
                //普通表单控件
                System.out.println(item.getFieldName());
            }else{//文件数据
                System.out.println(item.getContextType());
                System.out.println("Name:"+item.getName());
                //路径
                String path = this.getServletContext().getRealPath("/WEB-INF/upload");
                item.write(new File(path, "xxx.jpg"));
            }
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    

    相关文章

      网友评论

          本文标题:31.文件上传下载-基于Apache FileUpload组件

          本文链接:https://www.haomeiwen.com/subject/eoazeftx.html