Javascript 强制转换document.getElementById以访问TypeScript中的文件

Javascript 强制转换document.getElementById以访问TypeScript中的文件,javascript,html,angularjs,file-upload,typescript,Javascript,Html,Angularjs,File Upload,Typescript,我对angularjs很陌生。我无法在网上找到解决方案。 我想从文件中读取文本。我试着效仿这个例子。 但是,由于我使用的是TypeScript,因此我收到此行的此错误 document.getElementById('fileInput').files[0]; 错误: 类型“HtmleElement”上不存在属性“files” 请建议我如何使用这些文件 从这个例子来看,这应该很好,也许你在那里做错了什么。但是,您可以这样测试代码,将fileChanged替换为fileChangedevent

我对angularjs很陌生。我无法在网上找到解决方案。 我想从文件中读取文本。我试着效仿这个例子。

但是,由于我使用的是TypeScript,因此我收到此行的此错误

document.getElementById('fileInput').files[0];
错误: 类型“HtmleElement”上不存在属性“files”


请建议我如何使用这些文件

从这个例子来看,这应该很好,也许你在那里做错了什么。但是,您可以这样测试代码,将fileChanged替换为fileChangedevent,然后通过event.target.files获取文件

函数fileChangedevent{ var target=event.target | | event.src元素; console.logtarget.files; console.logdocument.getElementById'fileInput'。文件; }
从那个例子来看,这应该很好,也许你在做错事。但是,您可以这样测试代码,将fileChanged替换为fileChangedevent,然后通过event.target.files获取文件

函数fileChangedevent{ var target=event.target | | event.src元素; console.logtarget.files; console.logdocument.getElementById'fileInput'。文件; }
我发现的另一种解决问题的方法是替换:

document.getElementById('fileInput').files[0];


通过将输入定义为任何类型,Typescript编译器不再引发错误。

我发现解决问题中错误的另一种方法是替换:

document.getElementById('fileInput').files[0];

通过将输入定义为任何类型,Typescript编译器不再引发错误。

您应该将其强制转换为HTMLInputElement。该接口将.files字段定义为FileList

您应该将其强制转换为HTMLInputElement。该接口将.files字段定义为FileList


它与typescript无关,它是纯Javascript。它与typescript无关,它是纯Javascript。非常感谢您的建议。target.files似乎可以工作。但是,我无法像这个document.getElementById'fileInput'.files那样实现。在调试时,它似乎工作得很好,我正在获取值,但由于我使用的是TypeScript,所以在编写代码时它会给我带来错误。Filereader在lib.d.tsI中。在尝试实现您的解决方案时,我仍然存在另一个问题。我将尝试研究这个问题,但从未研究过剑道:非常感谢你的建议。target.files似乎可以工作。但是,我无法像这个document.getElementById'fileInput'.files那样实现。在调试时,它似乎工作得很好,我正在获取值,但由于我使用的是TypeScript,所以在编写代码时它会给我带来错误。Filereader在lib.d.tsI中。在尝试实现您的解决方案时,我仍然存在另一个问题。我将尝试研究这个问题,但从未对剑道进行过研究:
/**
 * Returns a FileList object on a file type input object.
 */
readonly files: FileList | null;

interface FileList {
    readonly length: number;
    item(index: number): File;
    [index: number]: File;
}