Angular2里获取(input file)上传文件的内容的方法
网络编程 2021-07-04 17:32www.168986.cn编程入门
这篇文章主要介绍了Angular2里获取(input file)上传文件的内容的方法,非常具有实用价值,需要的朋友可以参考下
最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签。
<input type="file" id="newUpload" >
然后想获取上传的内容,于是先想了个愚蠢的方法,先通过id获取到这个input标签,然后再获取其中上传的内容
const uploadsFile = document.getElementById(name).files[0];
结果就报错了。然后看提示说HTMLElement没有files方法。于是在es6里找了下有files属性的类型,是HTMLInputElement类型。于是就强制它转换成这个类型。
const uploadsFile=<HTMLInputElement>document.getElementById(name).files[0];
结果还是不行,最后改成了先转换类型再调用属性就可以了。
const uploadsFile = <HTMLInputElement>document.getElementById(name); const file = uploadsFile.files[0];
后面发现这种方式好像有点愚蠢,于是换了一个方法,用angular2里的$event来获取输入内容,里面也包括选择上传的文件。
<input type="file" id="newUpload" (change)="getUpload(newUpload, $event)" >
选择的文件在event.target.files里
private getUpload(obj, e) { if (e.target.files[0]) { const file = e.target.files[0]; obj.file = file; } }
接着就可以把它放到formdata里了
const formData = new FormData(); formData.append('file', this.upload.file);
最后清空选择上传的内容可以用
let upload = <HTMLInputElement>document.querySelector(selectorName); upload.value = null;
不知道有没有更好的方法,欢迎讨论和指正。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
编程语言
- 机械手焊接机器人编程 机械手焊接设备编程
- vb数据库编程实例,vb做数据库
- tiobe世界编程语言排行榜,全球编程语言排行
- 成都java编程培训 成都it编程培训中心
- 编程基础培训,编程基础知识培训
- flash游戏编程基础教程,flash游戏开发教程
- 不会英语能学编程吗 不会英语可以学程序员吗
- 爱心代码编程C语言 爱心代码编程c语言公式
- c语言编程学习入门 c语言编程快速入门
- 西门子plc编程培训 西门子plc编程培训班
- 哪里可以学编程 台州哪里可以学编程
- 少儿编程哪个好 少儿编程哪个品牌好
- 编程是什么意思,图形编程是什么意思
- c语言编程软件下载,c语言编程软件在哪下载
- java编程软件下载,java编程下载手机版
- ug编程培训学校,ug编程培训教程