Apache FileUpload上传组件API解析(待续)

Java Web开发人员可以使用FileUpload组件接收浏览器上传文件,最重要的三个类:DiskFileUpload(Class)、FileItem(Interface)、FileUploadException(Exception),它们都位于org.apache.commons.fileupload包中。
1.DIskFileUpload类(核心类,主要通过这个类与组件交互)
1.1 setSizeMax()方法
设置消息实体最大允许大小,若超出设置,抛FileUploadException异常
1.2 setSizeThreshold()方法
设置临时文件大小(Apache上传组件在分析处理上传处理数据时,需要临时保存解析出的数据),超出限制发生“java.lang.OutOfMemoryError”
1.3 setRepositoryPath()方法
设置1.2中提到的临时文件的存放路径,如果不设置存放路径,那么临时文件将被储存在"java.io.tmpdir"这个JVM环境属性所指定的目录中,tomcat 5.5.9将这个属性设置为了“<tomcat安装目录>/temp/”目录。
1.4 parseRequest()方法
解析HTTP请求的入口方法,如果请求的实体内容不是“multipart/form-data”,抛FileUploadException异常。
解析Form表单的每个字段的数据,将它们包装成独立的FileItem对象,然后加入List类型的集合对象中返回。
1.5 isMultipartContent()方法
判断请求消息的内容是否是“Multipart/form-data”类型
1.6 setHeaderEncoding()方法
设置转换时所使用的字符集编码
2.FileItem类(封装单个表单的字段元素,一个元素对应一个FileItem对象,FileItem是一个接口,实际上使用的是该接口的实现类)
说明:对于“mutipart/form-data”类型的Form表单,浏览器上传试题中的每个字段元素之间用字段分隔符分割,分隔符之间的内容称为分区,分区(1.描述头2.主体部分)
FileItem对象用了两个成员变量存储描述头和主体。当主体内容的大小小于DiskFileUpload.setSizeThreshold方法设置的临界值大小时,这个流对象关联到一片内存,主体内容将会被 保存在内存中。当主体内容的数据超过DiskFileUpload.setSizeThreshold方 法设置的临界值大小时,这个流对象关联到硬盘上的一个临时文件,主体内容将被保存到该临时文件中。临时文件的存储目录由  DiskFileUpload.setRepositoryPath方法设置,临时文件名的格式为 “upload_00000005(八位或八位以上的数 字).tmp”这种形式,FileItem类内部提供了维护临时文件名中的数值不重复的机制,以保证了临时文件名的唯一性。当应用程序将主体内容保存到一 个指定的文件中时,或者在FileItem对象被垃圾回收器回收时,或者Java虚拟机结束时,Apache文件上传组件都会尝试删除临时文件,以尽量保 证临时文件能被及时清除。
2.1 isFormField()方法
判断封装的数据是属于普通表单字段还是文件表单字段
2.2 getName()方法
获得文件上传字段中的文件名
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值