美文网首页
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