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