DiskFileItemFactory

1、DiskFileItemFactory该类的作用

将请求消息实体中的每一个项目都封装成一个DiskFileItem(DiskFileItem是FileItem接口的实现类)对象,这个任务就是DiskFileItemFactory实现的。

2、DiskFileItemFactory该类的属性

/**该属性是把文件保存在内存中还是磁盘上的临时文件夹的系统默认的临界值,10kb*/
public static final int DEFAULT_SIZE_THRESHOLD = 10240;
/**
如果需要保存的文件大于临界值,需要建立一个临时文件。
默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir获取。
如代码:System.getProperty("java.io.tmpdir");
*/
private File repository;
/**文件保存在内存中还是磁盘临时文件夹的临界值,这个属性是为了用户自己设置临界值而设定的*/
private int sizeThreshold;
/**临时文件的跟踪器*/
private FileCleaningTracker fileCleaningTracker;

3、DiskFileItemFactory该类的方法

/**
空构造器
*/
public DiskFileItemFactory(){this(10240, null);
}
/**
带参构造
*/
public DiskFileItemFactory(int sizeThreshold, File repository){this.sizeThreshold = 10240;this.sizeThreshold = sizeThreshold;this.repository = repository;
}
/**
属性repository临时文件夹的set和get方法
*/
public File getRepository(){return repository;
}public void setRepository(File repository){this.repository = repository;
}
/**
属性sizeThreshold的set和get方法
*/
public int getSizeThreshold(){return sizeThreshold;
}public void setSizeThreshold(int sizeThreshold){this.sizeThreshold = sizeThreshold;
}
/**根据DiskFileItemFactory相关配置将每一个请求消息实体项目创建成DiskFileItem 实例,并返回。该方法从来不需要我们亲自调用,FileUpload组件在解析请求时内部使用。
*/
public FileItem createItem(String fieldName, String contentType, boolean isFormField, String fileName){DiskFileItem result = new DiskFileItem(fieldName, contentType, isFormField, fileName, sizeThreshold, repository);FileCleaningTracker tracker = getFileCleaningTracker();if(tracker != null)tracker.track(result.getTempFile(), result);return result;
}
/**
FileCleaningTracker 的set和get方法
*/
public FileCleaningTracker getFileCleaningTracker(){return fileCleaningTracker;
}public void setFileCleaningTracker(FileCleaningTracker pTracker){fileCleaningTracker = pTracker;
}

4、DiskFileItemFactory该类的使用

//创建上传文件句柄
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
//设置内存缓冲区的大小,超过该值将文件放在磁盘临时文件夹中
diskFileItemFactory.setSizeThreshold(1024*4);
//设置磁盘临时文件夹的位置
diskFileItemFactory.setRepository(new File("F:\\uploadFileTemp"))

commons fileupload的DiskFileItemFactory相关推荐

  1. java.lang.ClassNotFoundException: org.apache.commons.fileupload.disk.DiskFileItemFactory

    您好,我是码农飞哥,感谢您阅读本文!本文主要介绍文件上传报的错 问题复现 [dispatcherServlet] in context with path [/coep-rest] threw exc ...

  2. Java中的文件上传2(Commons FileUpload:commons-fileupload.jar)

    相比上一篇使用Servlet原始去实现的文件上传(http://www.cnblogs.com/EasonJim/p/6554669.html),使用组件去实现相对来说功能更多,省去了很多需要配置和处 ...

  3. Apache Commons fileUpload实现文件上传

    Apache的commons-fileupload.jar可方便的实现文件的上传功能,本文通过实例来介绍如何使用commons-fileupload.jar. @author:ZJ 07-2-22 B ...

  4. Java Web——文件上传(Apache Commons FileUpload实现上传图片DEMO)

    基本概念 Apache Commons FileUpload :Apache Commons FileUpload组件提供了一种简单而灵活的方法,可以将对多部分文件上传功能的支持添加到Servlet和 ...

  5. Java 文件上传组件 Apache Commons FileUpload 应用指南(二)——FileUpload如何工作?

    在最初的 http 协议中,没有上传文件方面的功能.RFC1867("Form-based File Upload in HTML".) 为 http 协议添加了这个功能.客户端的 ...

  6. JSP 文件上传下载系列之二[Commons fileUpload]

    前言 关于JSP 文件上传的基础和原理在系列一中有介绍到. 这里介绍一个很流行的组件commons fileupload,用来加速文件上传的开发. 官方的介绍是:  让添加强壮,高性能的文件到你的se ...

  7. java fileupload 文件_java用Commons fileupload 文件的上传

    java用Commons fileupload 文件的上传 基于表单的文件上传 如果在表单中使用表单元素 />,浏览器在解析表单时,会自动生成一个输入框和一个按钮,输入框可供用户填写本地文件的文 ...

  8. commons fileUpload 文件上传下载

    commons fileUpload 的使用: commons fileUpload 官网:http://commons.apache.org/fileupload/ 在上面可以下载:commons- ...

  9. Apache Commons Fileupload 漏洞,可恶意操作文件

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | spoock 来源 | https://tinyurl.com/y34djpar ...

最新文章

  1. 引导win7+linux系统安装,win7 + ubuntu16.04LTS双系统安装(Legacy引导模式)
  2. Cisco热备份路由协议(HSRP) 2
  3. 闽江学院2015-2016学年下学期《软件测试》课程-第三次博客作业
  4. python识别简单训练模型_使用已经得到的keras模型识别自己手写的数字方式
  5. NodeJS 学习记录
  6. SQL 获取指定月份的天数
  7. scrapy setting配置
  8. php 封装的调试方法,关于php面向的特性之封装
  9. 连续变量的全概率和贝叶斯公式_条件概率、全概率公式与贝叶斯公式
  10. php病人叫号的源码,diy uan4 医院叫号系统页面,用在 排队 ,各大 ,人数很多, 很长 WEB(ASP,PHP,...) 238万源代码下载- www.pudn.com...
  11. 不仅仅生成图片,用GAN做无监督的异常检测
  12. 单位组织机构代码提取和补零操作
  13. 使用awk提取文本 awk处理条件 awk流程控制 awk扩展应用
  14. 正则中$1、$2的应用--日期格式化
  15. Spring Bean到底是什么?有什么用?
  16. kali burpsuit抓取不了https的包
  17. mac下charles抓包iPhone手机
  18. .net 5 C# 网页gbk编码问题的一种解决方案
  19. 转业费计算器2019_退役金计算器 版 含现役工资和转业费计算
  20. python多项式回归_如何在Python中实现多项式回归模型

热门文章

  1. python下载-Python下载和安装图文教程[超详细]
  2. python画折线图-手把手教你Python yLab的绘制折线图的画法
  3. python画曲线图-如何使用python画曲线图
  4. python编程例子-python编程例子
  5. python和c 的区别-Python和C区别该如何理解?如何适应这种区别?
  6. python必背入门代码-初学Python必背手册
  7. 学python需要什么基础-学习Python需要哪些基础知识?
  8. css文字竖直显示_CSS属性设置 -- 盒子模型
  9. iview表格处理后台返回的字符串
  10. 【Spring笔记】依赖注入