jsp的文件上传
来源:互联网 发布:英译汉最好的软件 编辑:程序博客网 时间:2024/05/18 01:18
DiskFileItemFactory类
- fileName.substring(fileName.lastIndexOf(".") + 1);
- 这句话的意思是 截取字符串从包括(。)开始截取。
将请求消息实体中的每一个项目封装成单独的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/”。
- jsp的文件上传
- jsp的文件上传
- JSP文件的上传
- 简单的JSP文件上传
- jsp文件上传的处理
- jsp文件上传的处理
- 图片上传的JSP文件
- JSP的文件上传方法
- JSP 进行文件上传。JSP文件上传
- 用jsp实现文件的上传
- 解决 jsp 文件上传的类
- jsp无刷新文件上传的实现
- 用JSP编写文件上传的程序
- jsp文件上传组建的使用
- JSP实现简单的文件上传
- jsp 文件的上传与下载
- 解析JSP上传的EXCEL文件
- jsp、servlet上传文件遇到的问题
- 没有乔布斯的日子里,苹果都做了什么
- jquery组件使用遇到的问题
- VS2010中release设置断点调试
- 笔记本电脑检测不到无线网络的解决办法
- 【SQL】 Windows7下的Oracle10g因版本无法安装问题的解决
- jsp的文件上传
- AForge学习笔记(1):AForge
- SQL索引剖析
- VC使用CRT调试功能检测内存泄露的方法
- Oracle 的listener.log 日志超过4G导致SQL速度极慢,监听命令能执行要10min。
- Python OpenCV -- 霍夫线变换(十二)
- 老公编程有瘾
- OJ_1096
- 我的STM32学习之旅