最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:31:06
文档

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

Angular2里获取(input file)上传文件的内容的方法:最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签。 <input type=file id=newUpload > 然后想获取上传的内容,于是先想了个愚蠢的方法,先通过id获取到这个input标签,然后再获取其中上传的
推荐度:
导读Angular2里获取(input file)上传文件的内容的方法:最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签。 <input type=file id=newUpload > 然后想获取上传的内容,于是先想了个愚蠢的方法,先通过id获取到这个input标签,然后再获取其中上传的


最近在用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;

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

文档

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

Angular2里获取(input file)上传文件的内容的方法:最近在用Angular2,需要有一个上传文件的功能,但是又不想用库,所以直接用原生的input file 标签。 <input type=file id=newUpload > 然后想获取上传的内容,于是先想了个愚蠢的方法,先通过id获取到这个input标签,然后再获取其中上传的
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top