js获取上传文件类型以及大小的方法

前端web上传文件时,需要在上传之前判断一下文件的类型以及文件的大小,HTML为前端的标记语言是无法做到这一点,只能使用javascript 动态脚本代码来实现。

js获取上传文件大小的方法

示例代码:

<!--表单数据-->
<form name="form1" id="form1">
<input type="file" id="btn_file" name="file"></input>
<input type="button" id="btn" value="提交">
</form>
<script>
  var btn=document.querySelector("#btn");
  btn.onclick=function(){
        var file = document.getElementById('btn_file').files[0];
        // 打印文件的大小,文件大小的单位为字节(B)
        console.log(file.size);
        //判断文件是否过大
        // 下面判断文件是否超过 1m 大小 1M的大小划算为:1024 * 1024 = 1048576
        if(file.size > 1048576){
              alert('文件超过 1M 大小,不允许上传!');
              return false;
        }
  }
</script>

js获取上传文件类型的方法

示例代码:

<!--表单数据-->
<form name="form1" id="form1">
<input type="file" id="btn_file" name="file"></input>
<input type="button" id="btn" value="提交">
</form>
<script>
    var btn=document.querySelector("#btn");
    btn.onclick=function(){
          var file = document.getElementById('btn_file').files[0];
          //定义可上传文件的类型
          var file_ypes =[".jpg",".png",".rar",".txt",".zip",".doc",".ppt",".xls",".pdf",".docx",".xlsx"];
          //获取文件的后缀名
          var type = file.name.substring(file.name.indexOf("."));
          //判断上传的文件是否可上传
          if(file_ypes.indexOf(type) != -1){
          			console.log('可以上传');
          }else{
          			console.log('禁止上传');
          }
    }
</script>