Javascript 如何访问angular 4中上载的文件类型?

Javascript 如何访问angular 4中上载的文件类型?,javascript,html,angular,Javascript,Html,Angular,我正在尝试获取上传到我的角度组件中的文件类型 这是我的密码 html 打字稿 fileChange(event) { console.log(event.target.files[0].type); } 当我选择除.doc文件以外的任何文件时,上面的代码都会正确记录文件类型。当我选择一个文档文件时,记录的类型将是一个空字符串。。。 请帮忙 除了文件类型,您还可以获得文件扩展名 试着跟随 fileChange(event){ console.

我正在尝试获取上传到我的角度组件中的文件类型 这是我的密码 html
打字稿

fileChange(event) {                    
   console.log(event.target.files[0].type);
}
当我选择除.doc文件以外的任何文件时,上面的代码都会正确记录文件类型。当我选择一个文档文件时,记录的类型将是一个空字符串。。。
请帮忙

除了文件类型,您还可以获得文件扩展名

试着跟随

fileChange(event){ 
  console.log(event.target.files[0].name.split(".").pop());
}
Html

对于.doc,它显示“应用程序/msword”

对于.docx,它是application/vnd.openxmlformats-officedocument.wordprocessingml.document


使用名称获取扩展名是否准确?如果文件名被修改为具有有效扩展名怎么办?猜测文件类型是根据文件扩展名计算的,不是吗?如果我将文本文件保存为filename.doc?@Mr.Gaja当然不行。我想知道的是,如果file.type能够找到扩展名为
.doc
的文件的实际类型是
txt
,是吗?空字符串是否仅在使用angularjs时出现?不使用angularjsI时无法复制我仅尝试使用angularjsI。。。但为什么这只发生在文档文件中?其他文件,如pdf、zip,可以正常工作吗?没有尝试过angularjs。您是否考虑过向angularjs的作者和贡献者提交一份报告,描述您的经历?没有。。我使用angular 4,但不熟悉angular的版本<当不使用anguarjs时,Chromium和Firefox上的code>“application/msword”在
文件中设置为
类型
。您能否创建一个plnkr来重现问题?
<input type="file" style="display: none;" id="fileInput" (change)="fileChange($event.target.files)">
<button (click)="selectFile()"> Select File </button>
public selectedFile : File;

public selectFile() {
    document.getElementById("fileInput").click();
}

public fileChange(files: File[]) {
    if (files.length > 0) {
        this.selectedFile = files[0].type;
        console.log(this.selectedFile);
    }
}