FileItem类的常用方法:
1. boolean isFormField()
isFormField方法用于判断FileItem类对象封装的数据是一个普通文本表单字段,还是一个文件表单字段,如果是普通表单字段则返回true,否则返回false。因此,可以使用该方法判断是否为普通表单域,还是文件上传表单域。
2. String getName()
getName方法用于获得文件上传字段中的文件名。
注意IE或FireFox中获取的文件名是不一样的,IE中是绝对路径,FireFox中只是文件名。
3. String getFieldName()
getFieldName方法用于返回表单标签name属性的值。如上例中<input type="text" name="column" />的value。
4. void write(File file)
write方法用于将FileItem对象中保存的主体内容保存到某个指定的文件中。如果FileItem对象中的主体内容是保存在某个临时文件中,该方法顺利完成后,临时文件有可能会被清除。该方法也可将普通表单字段内容写入到一个文件中,但它主要用途是将上传的文件内容保存在本地文件系统中。
5. String getString()
getString方法用于将FileItem对象中保存的数据流内容以一个字符串返回,它有两个重载的定义形式:
public java.lang.String getString()
public java.lang.String getString(java.lang.String encoding)
throws java.io.UnsupportedEncodingException
前者使用缺省的字符集编码将主体内容转换成字符串,后者使用参数指定的字符集编码将主体内容转换成字符串。如果在读取普通表单字段元素的内容时出现了中文乱码现象,请调用第二个getString方法,并为之传递正确的字符集编码名称。
6. String getContentType()
getContentType 方法用于获得上传文件的类型,即表单字段元素描述头属性“Content-Type”的值,如“image/jpeg”。如果FileItem类对象对应的是普通表单字段,该方法将返回null。
7. boolean isInMemory()
isInMemory方法用来判断FileItem对象封装的数据内容是存储在内存中,还是存储在临时文件中,如果存储在内存中则返回true,否则返回false。
8. void delete()
delete方法用来清空FileItem类对象中存放的主体内容,如果主体内容被保存在临时文件中,delete方法将删除该临时文件。
尽管当FileItem对象被垃圾收集器收集时会自动清除临时文件,但及时调用delete方法可以更早的清除临时文件,释放系统存储资源。另外,当系统出现异常时,仍有可能造成有的临时文件被永久保存在了硬盘中。
9. InputStream getInputStream()
以流的形式返回上传文件的数据内容。
10. long getSize()
返回该上传文件的大小(以字节为单位)。
分享到:
相关推荐
下面小编就为大家带来一篇浅谈FileItem类的常用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
DiskFileItemFactory 是创建 FileItem 对象的工厂,这个工厂类常用方法: public void setSizeThreshold(int sizeThreshold) 设置内存缓冲区的大小,默认值为10K。当上传文件大于缓冲区大小时, fileupload组件将...
python库,解压后可用。 资源全名:file_item-1.0.0-py3-none-any.whl
参考了phantomes的专栏,解决了其中的FileItem调用问题。 struts2真正实现上传下载完整源代码。 包含lib jar包
NULL 博文链接:https://qinya.iteye.com/blog/643084
if (fileItem == null || fileItem.isFormField()) { continue; } // 得到文件的完整路径 path = fileItem.getName(); // 得到文件的大小 size = fileItem.getSize(); if ("".equals(path) || size == 0) { ...
// 得到文件上传工厂 FileItemFactory factory = new ... // 集合数据 : FileItem对象 注意: 每一个表单域 对应一个 FileItem对象(封装) List<FileItem> fileItemList = fileUpload.parseRequest(request);
使用方法 1、首先在项目下创建一个文件夹,保存我们的jar包。在项目名上右击,依次点击【New】-->【Floder】,打开新建文件夹窗口 2、输入文件夹名称【lib】,点击【ok】。我们通常在lib文件夹中存放从外部...
文件上传组件commons-fileupload用户指南文件上传组件commons-fileupload用户指南
* 目的是调用 parseRequest(request)方法 获得 FileItem 集合list , * * 5)在 FileItem 对象中 获取信息, 遍历, 判断 表单提交过来的信息 是否是 普通文本信息 另做处理 * 6) * 第一种. 用第三方 ...
NULL 博文链接:https://weideming.iteye.com/blog/1229692
FileUpload组件将页面提交的所有元素(普通form表单域,如text和文件域file)都看作一样的FileItem,这样上传页面提交的 request请求也就是一个FileItem的有序组合,FileUpload组件可以解析该request,并返回一个一个...
最简单的例子,通过ServletFileUpload静态类来解析Request,工厂类FileItemFactory会对mulipart类的表单中的所有字段进行处理,不只是file字段。getName()得到文件名,getString()得到表单数据内容,isFormField...
InputStream与OutputStream及File间互转
告诉FileUpload组件处理时的编码为项目编码,在FileItem中,用getString(encoding),这项设置可以解决获取的表单字段为乱码的问题,所以在每个FileItem实例后面都执行一次getString(encoding),就告诉FileItem在取值...
利用servlet实现的commons-fileupload的实例。也就是文件上传实例。
base64将文件(图片或其它)转码成字符串,将字符串还原成文件
if (fileItem == null || fileItem.isFormField()) { continue; } // 得到文件的完整路径 path = fileItem.getName(); // 得到文件的大小 size = fileItem.getSize(); if ("".equals(path) || size == 0) { out....
在许多情况下,使用FileItem类比使用标准Java类更加方便。 用法 创建一个新文件并设置其内容 FileItem file = FilesJre . wrap( new File ( " /tmp " )) file . assertFolder( " a Folder " ) . ...
fileItem.SaveAs path & fileItem.FileName Next ' 保存结束后更新进度信息 Progress.ReadyState = "complete" '上传结束 UpdateProgressInfo progressID End Sub ' 分析上传的数据,并保存到相应集合...