JavaWeb基础之文件上传
2020-04-12 本文已影响0人
在error边缘疯狂试探
准备工作(导入依赖)
- 对于文件上传,浏览器上传文件的过程是将文件以流的形式提交到服务器端的。一般选择apache的开源工具
common.fileupload
这个文件上传组件,common.fileupload
是依赖于common.io
这个包,所以还需要导入这个包。
<!--common.io依赖-->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload -->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
使用步骤
【文件上传注意事项】
- 1.为保证服务安全,上传的文件应该放在外界无法直接访问的的目录下,比如放在WEB-INF目录下。
- 2.为防止文件覆盖现象发生,要为文件上传产生一个唯一的文件名。(常用:添加时间戳或使用UUID生成一串随机不会重复的数字)。
- 3.要限制文件上传的大小。
- 4.可限制文件上传的类型,在收到文件名时,判断后缀名是否合法。
【需要用到的类的详解】
ServletFileUpload复杂处理上传的文件数据,并将表单中每个输入项封装成一个Fileltem对象,在使用ServletFileUpload对象解析请求时需要DiskFileltemFactory对象。所以我们需要在进行解析工作前构造好DiskFileltemFactory,通过ServletFileUpload对象的构造方法或setFileltemFactory()方法设置ServletFileUpload对象的fileltemFactory属性。
(未完待续...)