如何在JavaScript中使用onload确定文件类型?

4

我有以下上传文件的代码:

<script>
var input_file = document.getElementById('txt_list');
input_file.onchange = function() {
           var file = this.files[0];
           var reader = new FileReader();
           reader.onload = function(ev) {
                //myProcesses
           };
           reader.readAsText(file);
        };
</script>

我该如何添加新的功能来确定上传文件的类型,例如txt、gif等?如果我需要进行验证,我应该怎么做呢? 提前感谢。


可能是重复的问题:如何使用JavaScript获取文件扩展名? - Aleks G
3个回答

2

将文件名分割,然后第二部分会给出文件扩展名。

 return file .split('.').pop();

如果文件名为name.txt,这将返回txt

编辑-

如果你只需要检查文件类型

var filetype=file.split('.').pop();
if(filetype!="txt"){
return false;
}

var file = this.files[0]; 返回 file.split('.').pop(); - Buzz
好的,谢谢。也许我的下一个问题是,如果需要验证它怎么办?我只需要 .txt 文件,例如。 - Doni Andri Cahyono

2
return (/[.]/.exec(filename)) ? /[^.]+$/.exec(filename) : undefined;

或者

return filename.split('.').pop();

请查看此链接以获取更多细节 - LINK 如果您只需要一个txt文件,将其保存到变量中并使用if else语句进行验证。
var file=file.split('.').pop();


if (type=='txt'){
//do something
}else{
//do something
}

使用这个代码:file=file.split('.').pop();,请查看我的更新答案。 - Ghostman

1

您可以使用File.type来确定MIME类型,并将其与有效的MIME类型进行比较。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接