文件上传
文件上传
servlet3.0
commons-fileupload
框架
servlet3.0
3.0支持注解开发,没有web.xml这个文件了
内嵌了文件上传功能
/
例如:
创建servlet
在类上面添加 @WebServlet(urlPatterns={ "/demo2", "/demo21" },loadOnStartup=2)
创建listener
在类上添加 @WebListener
创建filter
在类上添加 @WebFilter(urlPatterns="/*")
/
文件上传
浏览器端的要求:
表单的提交方法必须是post
必须有一个文件上传组件 <input type="file" name=""/>
必须设置表单的enctype=multipart/form-data
服务器端的要求:
servlet3.0中
需要在servlet中添加注解
@MultipartConfig
接受普通上传组件 (除了文件上传组件):request.getParameter(name属性的值)
接受文件上传组件 request.getPart(name属性的值);
getName():获取的name的属性值
获取文件名:
part.getHeader("Content-Disposition"):获取头信息 然后截取
//
上传注意的问题:
名字重复 随机名称
在数据库中提供两个字段,
一个字段用来存放文件的真实名称 1.jpg
另一个字段用来存放文件存放路径 g:/sdfasdf.jpg
随机名称:
uuid
时间戳
文件安全
重要的文件存放在 web-inf 或者 meta-inf 或者 服务器创建一个路径
不是很重要的文件 项目下
文件存放目录
方式1:日期
方式2:用户
方式3:文件个数
方式4:随机目录
mkdirs
-----------