DiskFileUpload类常用方法

DiskFileUpload类是Apache文件上传组件的核心类,应用程序开发人员通过这个类来与Apache文件上传组件进行交互。

DiskFileUpload fu = new DiskFileUpload();
`fu.setSizeMax(10000000);//设置允许上传文件的大小10MB ,超出将包异常FileUploadException异常
fu.setSizeThreshold(4096);//设置是否使用临时文件保存解析出的数据的那个临界值,该方法传入的参数的单位是字节   即上传文件超出4KB则放临时文件保存

tip:
Apache文件上传组件在解析和处理上传数据中的每个字段内容时,需要临时保存解析出的数据。因为Java虚拟机默认可以使用的内存空间是有限的(笔者测试不大于100M),超出限制时将会发生“java.lang.OutOfMemoryError”错误,如果上传的文件很大,例如上传800M的文件,在内存中将无法保存该文件内容,Apache文件上传组件将用临时文件来保存这些数据;但如果上传的文件很小,例如上传600个字节的文件,显然将其直接保存在内存中更加fu.setRepositoryPath(path);//设置存放临时文件的绝对路径 默认存储在<tomcat安装目录>/temp/”目录

List fileItems = fu.parseRequest(request);//DiskFileUpload类的重要方法,对HTTP请求消息进行解析的入口方法

tip:
parseRequest 方法解析出FORM表单中的每个字段的数据,并将它们分别包装成独立的FileItem对象,然后将这些FileItem对象加入进一个List类型的集合对象中返回。如果请求消息中的实体内容的类型不是“multipart/form-data”,该方法将抛FileUploadException异常.

猜你喜欢

转载自blog.csdn.net/fightingitpanda/article/details/79742631