亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Angular2里獲?。╥nput file)上傳文件的內(nèi)容的方法

 更新時(shí)間:2017年09月05日 16:44:03   投稿:zx  
這篇文章主要介紹了Angular2里獲?。╥nput file)上傳文件的內(nèi)容的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

最近在用Angular2,需要有一個(gè)上傳文件的功能,但是又不想用庫,所以直接用原生的input file 標(biāo)簽。

<input type="file" id="newUpload" >

然后想獲取上傳的內(nèi)容,于是先想了個(gè)愚蠢的方法,先通過id獲取到這個(gè)input標(biāo)簽,然后再獲取其中上傳的內(nèi)容

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

結(jié)果就報(bào)錯(cuò)了。然后看提示說HTMLElement沒有files方法。于是在es6里找了下有files屬性的類型,是HTMLInputElement類型。于是就強(qiáng)制它轉(zhuǎn)換成這個(gè)類型。

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

結(jié)果還是不行,最后改成了先轉(zhuǎn)換類型再調(diào)用屬性就可以了。

  const uploadsFile = <HTMLInputElement>document.getElementById(name);
  const file = uploadsFile.files[0];

后面發(fā)現(xiàn)這種方式好像有點(diǎn)愚蠢,于是換了一個(gè)方法,用angular2里的$event來獲取輸入內(nèi)容,里面也包括選擇上傳的文件。

 <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);

最后清空選擇上傳的內(nèi)容可以用

 let upload = <HTMLInputElement>document.querySelector(selectorName);
  upload.value = null;

不知道有沒有更好的方法,歡迎討論和指正。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論