- 浏览: 505552 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (155)
- jQuery (12)
- java基础 (21)
- hibernate错误 (2)
- myeclipse快捷键 (1)
- hibernate (5)
- javaWeb (1)
- tomcat (4)
- oracle (7)
- 用命令导入导出数据库 (1)
- ssh整合类 (2)
- struts2 (7)
- spring (0)
- html (3)
- xml操作 (1)
- linux (4)
- cad (1)
- log4j日志配置 (4)
- MyEclipse (8)
- struts1 (3)
- 正则表达式 (3)
- struts标签 (1)
- poderdesinger (1)
- javascript (10)
- linux 客户端 (2)
- webProjectProblem (4)
- sql 问题 (1)
- 文件下载问题 (1)
- js正则表达式 (1)
- java 乱码问题 (1)
- mysql (6)
- 生活随笔 (3)
- 文件上传 (3)
- 电影 (1)
- json (1)
- 理论概念 (1)
- 总结 (1)
- ssh项目错误 (2)
- sql (3)
- powerdesinger (1)
- 导入exce数据 (1)
- windows cmd命令 (1)
- weblogic (1)
- 分页功能 (1)
- ssh 问题 (1)
- 项目问题积累总结 (5)
- 发散思维 (1)
- idea (1)
最新评论
-
tecwang:
DiskFileItemFactory类 -
Yimmm:
DiskFileItemFactory类 -
qmgrx2007:
<div class="quote_tit ...
DiskFileItemFactory类 -
逆风翔:
校验特殊字符中的—再校验到 含有字符mda ...
js中用正则表达式 过滤特殊字符 ,校验所有输入域是否含有特殊符号 -
pineapple_zjw:
谢谢分享 学习ing
java拼接和解析json
转自:http://blog.csdn.net/chinaliuyan/article/details/7002016
将请求消息实体中的每一个项目封装成单独的DiskFileItem (FileItem接口的实现) 对象的任务
由 org.apache.commons.fileupload.FileItemFactory 接口的默认实现
org.apache.commons.fileupload.disk.DiskFileItemFactory 来完成。当上传的文件项目比较小时,直接保存在内存中(速度比较快),比较大时,以临时文件的形式,保存在磁盘临时文件夹(虽然速度慢些,但是内存资源是有限的)。
属性
1) public static final int DEFAULT_SIZE_THRESHOLD :将文件保存在内存还是磁盘临时文件夹的默认临界值,值为10240,即10kb。
2) private File repository:用于配置在创建文件项目时,当文件项目大于临界值时使用的临时文件夹,默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir获取。如下代码:
System.getProperty("java.io.tmpdir");
3) private int sizeThreshold:用于保存将文件保存在内存还是磁盘临时文件夹的临界值
构造方法
1) public DiskFileItemFactory()
采用默认临界值和系统临时文件夹构造文件项工厂对象。
2) public DiskFileItemFactory(int sizeThreshold,File repository)
采用参数指定临界值和系统临时文件夹构造文件项工厂对象。
3) FileItem createItem()
根据DiskFileItemFactory相关配置将每一个请求消息实体项目创建成DiskFileItem 实例,并返回。该方法从来不需要我们亲自调用,FileUpload组件在解析请求时内部使用。
4) void setSizeThreshold(int sizeThreshold)
Apache文件上传组件在解析上传数据中的每个字段内容时,需要临时保存解析出的数据,以便在后面进行数据的进一步处理(保存在磁盘特定位置或插入数据库)。因为Java虚拟机默认可以使用的内存空间是有限的,超出限制时将会抛出“java.lang.OutOfMemoryError”错误。如果上传的文件很大,例如800M的文件,在内存中将无法临时保存该文件内容,Apache文件上传组件转而采用临时文件来保存这些数据;但如果上传的文件很小,例如600个字节的文件,显然将其直接保存在内存中性能会更加好些。
setSizeThreshold方法用于设置是否将上传文件已临时文件的形式保存在磁盘的临界值(以字节为单位的int值),如果从没有调用该方法设置此临界值,将会采用系统默认值10KB。对应的getSizeThreshold() 方法用来获取此临界值。
5) void setRepository(File repository)
setRepositoryPath方法用于设置当上传文件尺寸大于setSizeThreshold方法设置的临界值时,将文件以临时文件形式保存在磁盘上的存放目录。有一个对应的获得临时文件夹的 File getRespository() 方法。
注意:当从没有调用此方法设置临时文件存储目录时,默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir 获取。如下代码:
System.getProperty("java.io.tmpdir");
Tomcat系统默认临时目录为“<tomcat安装目录>/temp/”。
发表评论
-
如何把字符串转化成整形 不用javaapi的方法
2013-07-03 15:03 1526参考 :http://blog.csdn.net/great ... -
指定java编译时的编码
2012-09-20 15:00 1480指定java编译时候的编码:javac -encoding 编 ... -
枚举类的编写和调用
2012-04-10 10:29 1235编写: public enum enumTest { ... -
response.setHeader()的用法[转载]
2012-04-01 13:54 1010转自:http://www.cnblogs.com/quanj ... -
iterator 例子
2012-01-15 16:56 1081import java.util.Arrays;import ... -
System.getProperty(String key)[转]
2011-12-26 11:17 1410转自:http://i.mtime.com/zhd/blog/ ... -
在catch中使用throw,finally中的语句是否会执行?
2011-09-29 15:09 2665public class Exceptiontest{ p ... -
java冒泡排序算法 (转)
2011-09-16 20:39 1105java冒泡排序算法 面试老考这个,都背熟了 1p ... -
面试总结 不断ing
2011-09-02 18:13 881面试总结 2011/9/2 1 将两个表的结果集联合起来 ... -
java 编译器 虚拟机 解释器 即时编译器 (转)
2011-09-01 18:08 1221什么是java虚拟机: ... -
JAVA虚拟机工作原理 (转)
2011-09-01 18:07 1453JAVA虚拟机工作原理 2009-04-11 21:41 ... -
split方法的应用和去除list中相同的元素【转】
2011-08-03 10:40 1162public class testJava { publi ... -
数组转化为list【转】
2011-08-02 13:35 1351import java.util.* ;public cl ... -
便利map
2011-08-01 20:16 1878import java.util.ArrayList;impo ... -
Java注释规范{转}
2011-07-28 16:38 949Java代码规范 --注释 ... -
java 动态数组
2011-07-19 15:22 2369Java动态数组是一种可以 ... -
toString方法
2011-06-26 20:44 1011public class Test { public stat ... -
遍历set
2011-06-26 20:17 1048Iterator it = set.iterator(); ... -
java 从文件中读取信息(测试过成功)
2011-06-15 16:41 1648import java.io.File;import j ... -
关于java 读取propterties 文件的疑惑 和问题的解决
2011-06-15 16:36 1193最近在重构自己的小Demo 想把自己的下Demo 变成可以配置 ...
相关推荐
`DiskFileItemFactory`是FileUpload组件的核心工厂类,它负责创建`DiskFileItem`对象。`DiskFileItem`是一个实现了`FileItem`接口的类,用于处理临时存储上传文件到内存或磁盘的逻辑。当上传文件大小超过预设阈值时...
* DiskFileItemFactory类,用于创建FileItemFactory工厂实现类。 ServletFileUpload类提供了许多有用的方法,例如: * boolean ServletFileUpload.isMultipartContent(HttpServletRequest request);判断当前上传的...
DiskFileItemFactory是Apache Commons FileUpload组件中的一个类,用于创建和管理FileItem实例。FileItem可以表示表单中的一个文件字段。DiskFileItemFactory通过内部的磁盘存储机制来创建FileItem实例,使得文件...
至于文件上传下载功能,可能使用了Servlet的FileItem接口和DiskFileItemFactory类来处理。 在开发过程中,为了确保项目的质量和可测试性,开发者可能还使用了单元测试框架如JUnit对Servlet和DAO(Data Access ...
这部分可能使用了Servlet的FileItem接口和DiskFileItemFactory类来处理上传文件,同时提供下载链接供用户下载附件。 7. **安全机制**:包括用户密码加密存储、防止SQL注入和XSS攻击等,确保系统安全稳定运行。 8. ...
解析multipart/form-data表单,使用DiskFileItemFactory ServletFileUpload 类需要的commons-fileupload-1.3.jar和commons-io-1.2.jar包
该库提供了一个DiskFileItemFactory类,用于创建文件项目工厂。文件上传机制可以分为以下几个步骤: * 创建文件项目工厂:使用DiskFileItemFactory类创建文件项目工厂。 * 设置文件上传限制:设置文件上传的限制,...
Apache Commons FileUpload的核心组件之一是`DiskFileItemFactory`,这是文件项工厂类,负责创建`FileItem`对象。`FileItem`对象代表了HTTP请求中的一个字段,无论是普通文本还是上传的文件。`DiskFileItemFactory`...
需要下载两个 jar 包:commons-fileupload-1.4.jar 和 commons-io-2.6.jar,然后使用 FileUpload 组件中的 FileItem 接口、DiskFileItemFactory 类和 ServletFileUpload 类实现文件上传。 实现代码 下面是实现代码...
而***mons.fileupload.disk.DiskFileItemFactory类负责创建FileItem对象,它使用磁盘空间来存储文件数据。 ServletFileUpload类是处理上传请求的主要工具。开发者需要创建一个ServletFileUpload实例,并通过它可以...
例如,DiskFileItemFactory是这个库中的一个关键类,它负责创建DiskFileItems,这些对象代表了上传的文件。通过配置DiskFileItemFactory,开发者可以自定义如何在磁盘上存储未处理的文件数据。 Apache Commons IO是...
import org.apache.commons.fileupload.disk.DiskFileItemFactory; import org.apache.commons.fileupload.servlet.ServletFileUpload; import com.lizhou.exception.FileFormatException; import ...
本文将详细讲解如何实现图片的上传与下载,并介绍一个实用的工具类`UpOrDownLoadUtil.java`。 首先,我们来探讨图片上传的过程。在Web应用中,通常用户通过表单提交图片文件到服务器。这个过程涉及到前端和后端两个...
下面我们将深入探讨如何使用Apache Commons FileUpload创建一个基于Java的文件上传工具类。 首先,我们需要引入Apache Commons FileUpload和Apache Commons IO库。这两个库可以通过Maven或Gradle添加为依赖,或者...
`commons-fileupload`库的核心在于其`DiskFileItemFactory`和`ServletFileUpload`类。`DiskFileItemFactory`负责创建`FileItem`对象,而`ServletFileUpload`则用于解析请求中的多部分数据。`UploadForm`和`...
这个类实现了基于磁盘的文件上传存储策略,当上传文件大小超过内存阈值时,它会将文件内容写入到磁盘上的临时文件。 1. `setSizeMax` 方法: 这个方法用来设置允许的最大文件上传大小,以防止恶意用户通过上传大...