apache commons fileupload 1.3.1(七)FileItemFactory部分

来源:互联网 发布:网络通端口映射工具 编辑:程序博客网 时间:2024/05/01 10:29

近段时间,对apache commons fileupload的源码做了深入的了解,在此把一些见解与大家分享。

今天就简介一下commons fileupload的FileItemFactory部分。


FileItemFactory表示文件条目的工厂类,其有创建FileItem的方法。

org.apache.commons.fileupload.FileItem

该接口代表通过表单上传上来的文件。需使用符合RFC 1867multipart/mixed作为encoding type即可实例化上传文件对象。其对象是从Fileupload对象的parseRequest方法获取的。当然你也可以使用get()requestgetInputStream()来获取文件对象。该接口本身不继承javax.activation.DataSource以避免增加使用机会少的依赖。但几个已知的方法被明确地定义在接口中。它允许实现类继承DataSource接口而无需实现额外的方法。


org.apache.commons.fileupload.FileItemFactory

该接口提供创建FileItem的方法。


org.apache.commons.fileupload.disk.DiskFileItemFactory

该类是一个上传文件条目的工厂类,其创建文件条目的同时还通过调用FileCleaningTracker来对临时文件进行监控,一旦临时文件不再使用将被删除。


org.apache.commons.fileupload.DefaultFileItemFactoryDiskFileItemFactory代替

FileItemFactory接口的默认实现类,这个类使用工厂模式创建FileItem类对象。FileItem的类对象可根据文件的大小调整存储策略,大文件临时存储于硬盘中,小文件存放在内存中。该文件大小的阀值是可配置的,如果未进行配置则以10kb作为阀值。并使用System.getProperty("java.io.tmpdir")的返回值作为临时文件的存储位置。




ONE FOR IT是一个呆萌CTO打理的资讯读物,每天只为你准备一篇IT行业新鲜资讯。互联网的前沿,一篇就够了。(ID:OFI)

0 0