https://www.cnblogs.com/xiaonanhai/p/5943724.html

DiskFileItemFactory有两个方法 :setSizeThreshold和.setRepository

1. setRepository方法用于设置当上传文件尺寸大于setSizeThreshold方法设置的临界值时,将文件以临时文件形式保存在磁盘上的存放目录。有一个对应的获得临时文件夹的 File getRespository() 方法。
       注意:当从没有调用此方法设置临时文件存储目录时,默认采用系统默认的临时文件路径,可以通过系统属性 java.io.tmpdir 获取。如下代码:
System.getProperty("java.io.tmpdir");
Tomcat系统默认临时目录为“<tomcat安装目录>/temp/”。

附:
  setSizeThreshold方法说明:
 
Apache文件上传组件在解析上传数据中的每个字段内容时,需要临时保存解析出的数据,以便在后面进行数据的进一步处理(保存在磁盘特定位置或插入数据库)。因为Java虚拟机默认可以使用的内存空间是有限的,超出限制时将会抛出“java.lang.OutOfMemoryError”错误。如果上传的文件很大,例如800M的文件,在内存中将无法临时保存该文件内容,Apache文件上传组件转而采用临时文件来保存这些数据;但如果上传的文件很小,例如600个字节的文件,显然将其直接保存在内存中性能会更加好些。

2、setSizeThreshold方法用于设置是否将上传文件已临时文件的形式保存在磁盘的临界值(以字节为单位的int值),如果从没有调用该方法设置此临界值,将会采用系统默认值10KB。对应的getSizeThreshold() 方法用来获取此临界值。

部分代码:

DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(MEMORY_THRESHOLD);
factory.setRepository(new File(System.getProperty("java.io.tmpdir")));

转载于:https://blog.51cto.com/maplebb/2324736

使用DiskFileItemFactory 实现文件上传 ,设定缓冲区大小和存放临时文件目录。相关推荐

  1. 【甄选靶场】Vulnhub百个项目渗透——项目八:IMF-1(文件上传,缓冲区溢出)

    Vulnhub百个项目渗透 靶场环境 提取码:rong Vulnhub百个项目渗透--项目八:IMF-1(文件上传,缓冲区溢出)

  2. JavaScript实现限制文件上传类型和大小

    JavaScript实现限制文件上传类型和大小 <title>文件上传前台控制检测程序 v0.6</title> <style>body,td {font-size ...

  3. Struts2文件上传超出配置大小的解决办法

    用Struts2做一个文件上传来着,本来是想写个验证方法来限制文件大小的,结果发现根本走不到我的验证方法就开始报异常了: THE REQUEST WAS REJECTED BECAUSE ITS SI ...

  4. FTP压缩文件上传到HDFS大小不一致的问题说明(FTP传输模式)

    1.问题:将ftp文件服务器上的压缩文件通过内存流直接写入HDFS内,却发现文件不一致,MD5SUM校验也不一致. 2.分析: FTP的传输有两种方式:ASCII传输模式和二进制数据传输模式. 1)A ...

  5. php知识点之php文件上传

    php知识点之php文件上传 1. 文件上传时需要的注意事项: - HTNL表单部分:- 上传文件时,传输方式必须是post方式- 需要指定表单传输编码格式:enctype="multipa ...

  6. 大数据WE阶段(十七)文件上传

    文件上传 一.概述 在web开发中经常需要从客户端向服务端上传文件 , 如: 照片 . 文件 , 这些通常都需要web开发中的文件上传技术实现. 二. 文件上传开发步骤 提供一个带有文件上传项的表单 ...

  7. javaweb-39:文件上传及拓展鸡汤

    文件上传核心代码: FileServlet.java package com.gongyi.servlet;import org.apache.commons.fileupload.FileItem; ...

  8. 77.【JavaWeb文件上传和邮件发送04】

    JavaWeb (二十五).文件上传 1.准备工作 2.实用类介绍 3.思维导图: 4.正戏开始 5.完整代码 (二十六).邮箱发送 1.邮箱发送的原理: 2.服务器的原理 3.下载两个jar包 4. ...

  9. 用httpUrlConnection实现文件上传

    1.事先了解 1.1 请求格式 我们使用http来上传文件,必须先了解http的请求格式,然后才好发报.主要分为以下四个部分: (1)分界符:由两个连字符"--"和任意字符串组成: ...

最新文章

  1. HTML5元素周期表
  2. web.xml还不会配置编码过滤器?
  3. [python opencv 计算机视觉零基础到实战] 十、图片效果毛玻璃
  4. jquery伪分页控件
  5. 过程FMEA步骤三:功能分析
  6. 南网elink文件保存位置_ELINK使用说明
  7. 西威变频器图纸 SIEI电路图 西威原理图avy-L 原厂图纸PDF格式 主板21页,底座驱动板7页
  8. 我去,还有这种网站!
  9. php网页错误404,php出现404错误页面的解决方法
  10. 基恩士PLC④--MAIN程序实例笔记
  11. 【Python 无损放大图片】——支持JPG/PNG 可将图片无损放大上万像素
  12. Qt:QPushButton 单击、双击响应区分
  13. DNS服务器详解(端口占用与记录类型)
  14. Android Studio 实现九宫格
  15. AI智能音箱五大功能中应用的数字功放芯片
  16. NLP基础知识点:ROUGE
  17. php万年历源代码!源代码![上一年、上一月、下一月、下一年、附加当天日期加背景颜色]-私聊源码
  18. 交换机原理与配置(理论详解)
  19. 【python】都2022年不会还有人不会在电脑桌面上养宠物吧~
  20. 一杯清茶的时间G-TEA泉舟精英

热门文章

  1. datatable 创建列赋值_Datatable 添加新列并赋值
  2. 使用neo4j_知识图谱Task00:Neo4j安装配置
  3. 神兽来了服务器维护,20191204维护公告解读
  4. java虚拟机调优_Java虚拟机中JVM参数调优及其有用的命令
  5. ssh excel 导入 mysql_ssh poi解析excel并将数据存入数据库
  6. html原生音频播放器倍速,HTML5倍数功能视频播放器(加速2倍,1.5倍播放)
  7. java改写模式_Java基于状态模式实现的文档编辑模式切换功能实例
  8. 泸州计算机专业学院,泸州计算机专业中职推荐
  9. python中pickle模块的用法_Python中json模块和pickle模块的简单介绍(附示例)
  10. faceapp怎么合成未来宝宝照片_宝宝出生后,爸爸们应该如何宣布喜讯,各种官宣文案孕妈赶紧收藏...