如何获取通过文件对话框上传的所有文件名?

时间:2017-08-18 13:03:26

标签: javascript reactjs

我开始学习React JS,我的问题是;我想从文件对话框中选择多个文件,然后我想在屏幕上显示它们的名称。

<RaisedButton className="raisedBtn" label="Video Ekle" onClick={this.openFileDialog}>
           <input
             ref={(input) => { this.textInput = input; }}
             style={{"display" : "none"}}
             type="file" multiple   
             onChange={this.handleFileChange}
             >
           </input>
         </RaisedButton>

没关系。

openFileDialog(){ ReactDOM.findDOMNode(this.textInput).click(); }

再次没问题。

问题在于:

handleFileChange(e){
var files = e.target.files;

for (var i = 0; i < files.length; i++) {
  var file = files[i];
  let reader = new FileReader();
  var fileName = file.name;

  reader.onload = (e) => {
      tilesData.push({img: e.target.result, title: fileName})
      this.setState({image: e.target.result,  title: fileName});

 };

reader.readAsDataURL(file);

   }
}

所有图片名称都相同(所有图片都有最后选择的文件名称)。我认为reader.onload正在异步运行,所以for循环继续,但reader.onload没有完成运行?我该如何解决?

谢谢您的预付款。

0 个答案:

没有答案