实现上传文件功能(Java)

首先说明,使用commons-fileupload和common-io两个jar包实现。

1.先判断上传的数据是否是多段数据(因为只有多段数据才是文件上传)

ServletFileUpload.isMultipartContent(req)

2.然后创建FileItemFactory工厂实现类以及ServletFileUpload类

FileItemFactory fileItemFactory  = new FileItemFactory();
ServletFileUpload servletFileUpload = new ServletFileUpload(fileItemFactory);

3.由servletFileUpload得到request数据解析方法,

解析上传的数据,得到每一个表单项即

list<FileItem> list = servletFileUpload.parseRequest(req);

4.接下来,判断list中的每一个表单项,是普通表单项还是文件表单项,

先遍历,再判断,如下

for(FileItem fileItem : list){
    if(fileItem.isFormField){
        //可得到每个普通表单项的name属性值和value(即浏览器端输入的参数值)
        System.out.println(fileItem.getFieldName());
        System.out.println(fileItem.getString());
    }else{
    //文件表单项,得到表单项的name属性值以及上传文件的文件名
    System.out.println(fileItem.getFileFieldName());
    System.out.println(fileItem.getName());
    }
}

5.将上传的文件存储到本地磁盘,只需在第四步的else中加入一个write()方法即可

fileItem.write("d:\\");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值