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