欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

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

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

 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)這種方式好像有點愚蠢,于是換了一個方法,用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;

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論