如何在角4中访问上传文件的类型?

时间:2018-01-25 07:02:17

标签: javascript html5 angular

我正在尝试获取在我的角度组件中上传的文件类型 这是我的代码 HTML <input type="file" (change)="fileChange($event)" /> 打字稿

fileChange(event) {                    
   console.log(event.target.files[0].type);
}

当我选择除.doc文件以外的任何文件时,上面的代码会正确记录文件类型。当我选择doc文件时,记录的类型将是一个空字符串... 请帮忙!!!

2 个答案:

答案 0 :(得分:0)

替代文件类型,您可以获得文件扩展名。

尝试以下

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

答案 1 :(得分:0)

HTML

<input type="file" style="display: none;" id="fileInput" (change)="fileChange($event.target.files)">
<button (click)="selectFile()"> Select File </button>

TS

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);
    }
}

对于.doc,它显示&#34; application / msword&#34;。

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

Console.log Output