javaweb实现上传功能

javaweb实现上传功能

1.要实现上传功能要注意以下几点

①对于表单的限制

javaweb实现上传功能

②对于servlet的限制

只要添加了enctype="multipart/form-data"这个属性.

在servlet里面的方法,即是 request.getParameter(),就使用不了了,因为该方法只会返回null

那么假如要获取请求的内容 只可以使用方法

javaweb实现上传功能

③补充:

javaweb实现上传功能

2.commons-fileupload

需要导入两个jar包

commons-fileupload的使用如下:

javaweb实现上传功能

commons-fileupload 的原理是将请求体解析后,存入到FileItem的集合里面去.

然后分别操作FileItem的API来获取请求体的相关内容

javaweb实现上传功能

3.上传文件需要注意的几点问题

①上传的文件最好放在WEB-INF文件夹里面,因为这样子可以避免别人直接访问你的文件.

②部分浏览器上传的文件可能是绝对路径,也有的浏览器是相对路径,这一点要进行处理

③要防止上传文件乱码问题,解决方法:

javaweb实现上传功能

④要解决文件同名的问题:

javaweb实现上传功能

⑤上传的文件目录打散问题:

这一点是要求同一个文件夹里边不可以存放过多文件

关于目录打散有多种方式:

这里介绍一种:

javaweb实现上传功能

⑥上传的文件大小限制

主要有两种限制,分别是单个的文件大小限制,和 单个请求的大小限制

我们实现大小限制的代码如下:

javaweb实现上传功能

注意:以上两句代码必须写在解析请求之前,即是在代码sfu.parseRequest(request);之前.否则不起作用.

javaweb实现上传功能

⑦缓存大小和临时目录

缓存大小:当超出了该大小的时候,会将文件临时保存在临时目录之中

其中

DiskFileItemFactory dff=new DiskFileItemFactory ();这句代码已经默认了缓存大小和临时目录了.

另外,我们也可以在该构造方法里面传入两个参数,分别设置缓存大小和临时目录


【本文为e安在线合作讲师“刘建恒”原创稿件,转载请联系e安在线】


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值