input上传文件,前端判断文件的大小及类型

由于项目需要,需要实现该功能纪录如下。

上传文件时,由前端判断文件的大小及类型。举例说明:要求上传的文件小于10MB的文件,并且文件类型必须为.txt类型。关键核心代码如下:

html代码:<input type="file" @change="getFile($event)">

js代码:

getFile(event) {
  console.log(event)  // 这里可以看整个event是什么可以输出查看
  console.log(event.target.value);
  this.file = event.target.files[0];
  // this.filename=event.target.files[0].name;//这个输出的上传文件的文件名。看需求,如果只要求输出文件名,用这个。
  this.filename = event.target.value;//这个输出的是上传文件的全路径值。看需求,如果要求输出上传文件的全路径,用这个。
  if (event.target.files[0].size > 10*1024 * 1024) {
    alert('请上传小于10MB的文件');
  } else {
    if (this.filename.indexOf("txt") != -1) {//这个判断文件的类型,是不是txt文件。及判断文件名是否包含txt
      //这段代码是单位的换算,是B  KB    MB的单位
      if (event.target.files[0].size < 1024) {
        this.filesize = event.target.files[0].size + 'B';
      } else {
        if (event.target.files[0].size < 1024 * 1024) {
          this.filesize = ((event.target.files[0].size) / 1024).toFixed(2) + 'KB';
        } else {
          this.filesize = ((event.target.files[0].size) / 1024 / 1024).toFixed(2) + 'MB';
        }
      }
    } else {
      alert('请上传txt文件')
    }
  }
}

以上问题,是实际项目中遇到并解决。如有错误或者问题,欢迎批评指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值