class Download extends React.Component { constructor(props) { super(props); } async fetchOwnData(mail) { return fetch('/api/file', { method: 'GET', headers: { 'Content-Type': 'application/json', 'token': this.props.token } }).then(data => data.json()) } async componentDidMount() { const data = await this.fetchOwnData(); if (!data) { this.setState({ error: "Fehler beim laden der Daten" }); } else { this.setState({ fetchedData: data }); } } onDownload(filename){ fetch("/api/file/" + filename, { method: "GET", headers: { "token": this.props.token } }).then((stream) => { return stream.blob(); }) .then((data) => { var a = document.createElement("a"); a.href = window.URL.createObjectURL(data); a.download = filename; a.click(); }); } render(){ if (!this.state || !this.state.fetchedData) { //return (