如何在 React 中使用 FileReader?(得到一个奇怪的错误)

IT技术 reactjs filereader
2021-04-27 17:41:25

我已经尝试过解决方案

如何在 React 中使用 FileReader?

并得到与我的代码相同的错误。

我正在尝试FileReader()在react组件中使用 。

class Home extends Component {

  onChange(e) {
    let files = e.target.files;
    console.log(files);
    let reader = new FileReader();
    reader.readAsDataURL(files[0]);

    reader.onload = e => {
      console.log(e.target.result);
    };
  }

  render() {
    return (
        <div onSubmit={this.onFormSubmit}>
          <h1>Upload File Here</h1>
          <input type="file" name="file" onChange={e => this.onChange(e)} />
        </div>

export default Home;

console.log(files)返回上传的文件(如果我在没有其余onChange()代码的情况下运行它)。当我运行整个过程时,我收到一条错误消息:

Error: cannot read as File: {}reader.readAsDataURL(files[0]);

我正在完全按照本教程进行操作,并且对他们来说效果很好。有什么想法吗?!

https://www.youtube.com/watch?v=sp9r6hSWH_o&t=50s

1个回答

试试这个

改变

   onChange(e) {
        let files = e.target.files;
         console.log(files);
         let reader = new FileReader();
         reader.readAsDataURL(files[0]);

          reader.onload = e => {
              console.log(e.target.result);
          };
     }

    onChange = e => {
         let files = e.target.files;
         console.log(files);
         let reader = new FileReader();
         reader.onload = r => {
              console.log(r.target.result);
          };
         reader.readAsDataURL(files[0]);
     }