如何在reactjs中获取上传文件的路径

时间:2018-07-19 11:20:18

标签: javascript reactjs react-native

如何在reactjs中获取上载文件的路径。 我使用文件上传功能来上传文件

render() {
  return (
    <div>
      <input type="file" onChange={this.fileChangedHandler} />
      <button onClick={this.uploadHandler}>Upload!</button>
    </div>
  )
}

然后绑定uploadHandler

this.uploadHandler = this.uploadHandler.bind(this)

uploadHandler = () => { 
  console.log("the selected file is : "+this.state.selectedFile.name)
}

在这里我叫它的名字。我想获取文件路径。

1 个答案:

答案 0 :(得分:-1)

如果要上传图像而不发布到服务器,则可以使用base64。

reactjs:

   this.state = {
     imgUpload: '',
   }

...

  this.getBase64 = this.getBase64.bind(this)

...

  getBase64(e) {
    var file = e.target.files[0]
    let reader = new FileReader()
    reader.readAsDataURL(file)
    reader.onload = () => {
      this.setState({
        imgUpload: reader.result
      })
    };
    reader.onerror = function (error) {
      console.log('Error: ', error);
    }
  }

...

  <div>
    <input type="file" className="input-file" name="imgUpload" accept='.png' onChange={this.getBase64} />
  </div>

然后,您可以使用{this.state.imgUpload}访问base64字符串并可以处理图像。