文件上传

目的

  • 注意:普通数据与文件数据有区别,如果一起上传会时文件数据上传成功的是文件名,而不是文件。所以使用beanutils框架

基本思路

使用from表单进行文件,与数据的上传,

判断是普通数据还是文件数据,如果为普通数据使用map的方式将数据进行保存,如果为文件数据使用流的方式将文件进行保存

代码实现

  • 将数据进行遍历,并判断为何种类型的数据
for (FileItem fileItem : list) {

                if(fileItem.isFormField()){//判断是否是 普通的表单项
  • 如果为普通数据使用map的方式进行储存,等遍历完之后可以对map中数据进行相应的操作
map.put(fileItem.getFieldName(),fileItem.getString());
  • 如果为文件类型数据,将上传文件 保存到服务器的硬盘中
 //拼接路径
                    String path = this.getServletContext().getRealPath("/")+"upload"+ File.separator;
                    String fileName = UUID.randomUUID().toString();
                    String suffix = fileItem.getName().substring(fileItem.getName().lastIndexOf('.'));

                    File file = new File(path+fileName+suffix);
                    fileItem.write(file);

                    //将 路径 存储到 map ,以再便存到数据库里
                    map.put(fileItem.getFieldName(),"/upload/"+fileName+suffix);

实现效果图

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值