开发者社区> 问答> 正文

JavaScript中如何判断一个file对象是文件还是文件夹

在做一个页面文件拖拽上传,需要判断对象是否是文件,试了用FileReader好像也没什么帮助

展开
收起
a123456678 2016-07-18 10:07:00 9504 0
1 条回答
写回答
取消 提交回答
  • 我测了一下,你可能是FileReader用错了,

    
    var reader = new FileReader();
    reader.onload = function (e) {
        // it's a file
    };
    reader.onerror = function (e) {
        // it's a directory
    };
    reader.readAsText(file);
    这里你的file传的值,需要这样写:
    
    
    reader.readAsText(e.dataTransfer.files[0]);
    或者你换种思路,没必要去读文件内容:
    
    if(e.dataTransfer.files[0].type==""){
    
        // 是文件夹
    
    }else{
    
    //不是文件夹
    
    }

    当然种做法跟你判断一个文件是不是txt文件时,可以简单判断后缀或者取文件前几个字符来判断,这种做法属于前者,总之就是,文件夹名字以.txt等各种格式结尾时,不适用。

    纯属个人见解,看好就给个赞!

    2019-07-17 19:57:30
    赞同 1 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript面向对象的程序设计 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载