gpt4 book ai didi

Angular 2 - 文件上传访问

转载 作者:太空狗 更新时间:2023-10-29 18:08:59 24 4
gpt4 key购买 nike

<div class="fileUpload btn btn-primary">
<span>Choose File</span>
<input id="uploadBtn" type="file" class="upload" value="No File Selected" #uploadBtn/>
</div>
<input id="uploadFile" placeholder="No File Chosen" disabled="disabled" value="{{uploadBtn.value}}"/>

如何访问用户上传的文件?我如何在 Angular 和 typescript 中执行此操作,因为我仍然需要处理文件中的数据(例如检查有效文件类型)?

最佳答案

几乎与您在 JavaScript 中执行的方式相同。

如果上面是您的模板,比如说一个名为 FileUploadComponent 的组件,您可以这样做。请记住,这是 HTML5。所以浏览器支持来自IE10。

@Component({
selector: 'file-upload',
template: `
...
<input type="file" class="upload" (change)="_onChange($event.target.files)">
...`
})
export class FileUploadComponent {

private _onChange(files: FileList) : void {
if(files && files.length > 0) {
let file : File = files.item(0);
//Now you can get
console.log(file.name);
console.log(file.size);
console.log(file.type);
}
}

}

您可以扩展此功能以使用 FileReader 加载文件.

例如,如果你想读取一个 csv 文件:

文件开始:

let reader: FileReader = new FileReader();

reader.onload = (e) => {
let csv: string = reader.result;
console.log(csv);
//From here you can either use a csv parse library, or your own
//implementation if you know what the structure of the csv is
}

reader.readAsText(file);

关于Angular 2 - 文件上传访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40146646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com