在React中显示.txt文件的内容

时间:2017-09-11 13:52:24

标签: javascript reactjs dropbox-api

我希望通过Dropbox API显示存储在Dropbox中的.txt文件的内容。

我已经通过创建src url blobs来显示图像

我通过研究发现的所有例子都使用jQuery或ajax。由于我已经通过API访问这些文件,因此无需另外调用Dropbox服务器吗?

我已尝试使用embed标记,但浏览器会尝试下载该文件。

如何使用Dropbox API显示txt文件的内容?

class Project extends React.Component{

  constructor(){
    super();
    this.state = {
    fileSource: [],
  }
}

componentDidMount(){
  var that = this;
  var sources = [];
  var link = "/"+this.props.title;

  dbx.filesListFolder({path: link})
    .then(function(response) {

      ...
      ...
      //call to dropbox
      ...
      ...

        var newUrls=window.URL.createObjectURL(response.fileBlob);
        sources.push(newUrls);
    })

    .then(function(){
        that.setState({
          fileSource: sources,
        });

      });
    }
  });
}

render() {

  if(!this.state.fileSource.length)
    return null;

    let text = this.state.fileSource.map((el, i) =>
      <embed src={el}/>
    )

    return (
      <div className="projectWrapper">
        {text}
      </div>
   );
  }
}

1 个答案:

答案 0 :(得分:1)

更新:我遇到了this上一个问题,该问题从对象创建了一个fileBlob,然后使用FileReader()readAsText()来显示内容。