Angular2里获取(input file)上传文件的内容的方法

网友投稿 317 2023-04-09


Angular2里获取(input file)上传文件的内容的方法

最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签。

然后想获取上传的内容,于是先想了个愚蠢的方法,先通过id获取到这个input标签,然后再获取其中上传的内容

const uploadsFile = document.getElementById(name).files[0];

结果就报错了。然后看提示说HTMLElement没有files方法。于是在es6里找了下有files属性的类型,是HTMLInputElement类型。于是就强制它转换成这个类型。

const uploadsFile=document.getElementById(name).files[0];

结果还是不行,最后改成了先转换类型再调用属性就可以了。

const uploadsFile = document.getElementById(name);

const file = uploadsFile.files[0];

后面发现这种方式好像有点愚蠢,于是换了一个方法,用angular2里的$event来获取输入内容,里面也包括选择上传的文件。

选择的文件在event.target.files里

private getUpload(obj, e) {

if (e.target.files[0]) {

const file = e.target.files[0];

obj.file = file;

}

}

接着就可以把它放到formdata里了

const forhttp://mData = new FormData();

formData.append('file', this.upload.file);

最后清空选择上传的内容可以用

let upload = document.querySelector(selectorName);

upload.value = null;

不知道有没有更好的方法,欢迎讨论和指正。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java 中匿名内部类的实例详解
下一篇:简述Java图像倾斜方法及实例 原创
相关文章

 发表评论

暂时没有评论,来抢沙发吧~