commons-fileupload-DiskFileItemFactory

此栏目主要用于阅读英文APIdoc时,对其进行翻译。
https://commons.apache.org/proper/commons-fileupload/apidocs/index.html


这个执行创建FileItem实例,保持他们的内容,或是在内存,对于较小的items,保存在硬盘上一个临时文件,对于大的items。大小的阈值,大于多少会被保存到硬盘,是可以设置的,临时文件的路径也可以设置。
如果没有设置,默认值如下:

1.size阈值为10KB
2.路径(原文仓库)是系统默认文件夹,从System.getProperty("java.io.tmpdir")中获取。

注意:在默认临时文件夹中创建的文件有可预测的名字。这意味着,一个本地的,对这个文件夹有写入权限的攻击者,可以发动一个TOUTOC()攻击,一堆比较费的话,就是强调要把临时文件放到不会被公开写入的地方。在servlet容器这,上下文context的javax.servlet.context.tempdir也许会被使用。
这些为了文件而创建的临时文件,之后应该被删除。实现这个的最好方式是FileCleaningTracker,你可以在DiskFileItemFactory中设置它。然而,一旦你采用了它,你必须考虑以下:一旦临时文件不再被需要,它们会被自动删除。(更精确的说,一旦对应的File实例被垃圾回收后)。这是被所谓的reaper(收割者)线程搞掉的,当文件被尾随时,这些收割者会被FileCleaningTracker 叫起来干活或者打晕。终结掉这些线程是make sense的,比如你结束了你的web应用。这个去看user guide中的资源清理一节。


属性

  1. DEFAULT_SIZE_THRESHOLD

构造器

1.不带任何参数(就是用上述的默认值了)
2.两个参数(int型的size,单位byte,File型,临时文件的存放处)

方法

  1. getRepository 无输入,返回存放临时文件的一个File类
  1. setRepository 与上方法相反
  2. SizeThreshold的get & set
  3. createItem 输入:

String型 表单属性的名字
String型 表单属性的文本类型
boolean型 plain form field(译者注:是表单中enctype的一种)的话就是true了
String型 上传文件的名字,如果有的话,有浏览器或是其他客户端提供
返回:一个FileItem

5.getFileCleaningTracker 得到现在这个DiskFileItemFactory的FileCleaningTracker。
6.setFileCleaningTracker 跟上面这个相反,就是给这个工程类加一个cleaning tracker。

实现接口:FileItemFactory


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,935评论 6 342
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,498评论 0 17
  • 前天晚上我喝了点酒,微醺的脸点开了与他的聊天界面,编辑的内容是回家了开心吗? 终于犹豫挣扎了很久,我还是默默删...
    吃个核桃补脑阅读 131评论 0 1