在角度4及更高的角度上载之前,我如何validate
文件?
我想在角度4及以上的角度进行file type
和file size
的验证。
Screenshot of my issue
对于每个文件,我都会得到正确的文件大小和类型,但 .msg 文件除外。怎么获得 文件类型为 application / vnd.ms-outlook 应用程序/八位位组流 外观文件。请帮帮我。
答案 0 :(得分:1)
您的问题有点(含糊)。我假设你的意思是,如何从Angular的输入中获取File
对象。死了很简单。就像使用香草JS一样。
在您的组件中,创建一个函数来读取文件:
readFile(fileEvent: any) {
const file = fileEvent.target.files[0];
console.log('size', file.size);
console.log('type', file.type);
}
并将其应用于您在模板中输入的(change)
事件:
<input type="file" (change)="readFile($event)">
之后,您可以对文件执行任何操作。根据您的问题,样本函数仅获取大小和类型。
Stackblitz示例:https://stackblitz.com/edit/angular-vpvotz
除了(略)之外,您可以定义一个接口以提供类型提示,而不是使用any
作为fileEvent
类型。
interface HTMLInputEvent extends Event {
target: HTMLInputElement & EventTarget;
}
在使用时,也请添加File
类型。这样您的功能将变为:
readFile(fileEvent: HTMLInputEvent) {
const file: File = fileEvent.target.files[0];
console.log('size', file.size);
console.log('type', file.type);
}
但是,您不必这样做。尽管不推荐使用any
类型。