Html输入类型文件

时间:2018-02-12 17:02:43

标签: html angular form-data angular-file-upload

我正在处理一个应用程序,我必须使用Angular 5和Html上传超过4k个文件,我使用输入类型文件但是在我选择所有文件之后我无法看到文件,如果我检查事件目标,我可以看到列表的长度是0。 这是Html和输入的限制吗? 他们是避免这个问题的解决方案吗? 最好的祝福 昆汀

1 个答案:

答案 0 :(得分:1)

在Angular应用程序中,您应该在文件input-tag上使用(change) - event。在此更改事件中,您应该调用一个处理事件值的函数。将此文件提供给此功能。这是一个例子:

<div class="form-group">
    <label for="file">Choose File</label>
    <input type="file"
           id="file"
           (change)="handleFileInput($event.target.files)" multiple>
</div>

在component.ts文件中,您应该创建handleFileInput函数。在此功能中,您可以管理所选文件。为单个(类型File)或多个文件(数组类型File[])定义全局变量。这是一个例子:

singleFileToUpload: File = null;
multipleFilesToUpload: File[] = [];

handleFileInput(files: FileList) {
    this.singleFileToUpload = files.item(0);
    this.multipleFilesToUpload = files;
}

之后,您可以上传单个文件或迭代多个文件并上传。注意:使用FormData通过POST将文件上传到API。

这是一个answer,它对角度文件上传有很好的解释。