JavaWeb实现文件的上传(整理自西部开源秦疆老师)
1、准备工作
对于文件上传,浏览器在上传的过程中是将文件以流的形式提交到服务器端的。
一般采用Apache的开源工具common-fileupload这个文件上传组件。
common-fileupload是依赖于common-io这个包的,所以还需要下载这个包。
我们下载最新的jar包:
- common-io : https://mvnrepository.com/artifact/commons-io/commons-io
- commons-fileupload : https://mvnrepository.com/artifact/commons-fileupload/commons-fileupload
在JavaWeb项目中导入Jar包
2、使用类介绍
【文件上传注意事项】
- 为保证服务器的安全,上传的文件应放在外界无法访问的目录下,如WEN-INF。
- 为防止同名文件产生覆盖现象,要为文件指定一个唯一的文件名。
- 要对上传文件的大小进行限制。
- 限制上传文件的类型,收到文件时,判断文件名十分合法。
【需要用到的类详解】
ServletFileUpload负责处理上传的文件数据,并将表单中的每个输入项封装成一个FileItem对象,在使用ServletFileUpload对象解析请求时需要DiskFileItemFactory对象。所以,我们需要在进行解析工作前构造好DiskFileItemFactory对象,通过S