Как прочитать файл из хранилища Firebase и отобразить содержимое в компоненте React?

#javascript #reactjs #firebase #firebase-storage

#javascript #reactjs #firebase #firebase-хранилище

Вопрос:

У меня есть файл в хранилище firebase, как я могу заставить мое приложение прочитать содержимое из него, а затем распечатать это содержимое внутри моего компонента класса div? Прямо сейчас у меня есть это так, что он просто открывает файл firebase на новой вкладке.

 class ScanResult extends Component {
    state = {
        isFinishedScanning: false
    }
    componentDidMount() {
        const storageRef = app.storage().ref();
        app.database().ref("imgScanStatus").on("value", snapshot => {
            snapshot.forEach(snap => {
                this.setState({ isFinishedScanning: snap.val() });
            });
            if (this.state.isFinishedScanning) {
                storageRef.child('scanFiles/scan.txt').getDownloadURL().then(function (url) {
                    window.open(url);//OPENS FIREBASE FILE IN NEW TAB
                });
            }
        });
    }
    render() {
        return (
            <div>
                <InnerTitleBar title="Scan Result" />
                <p>Processing image...</p>
                <img src={loading} />
                <div>DATA FROM SCAN.TXT</div>
            </div>
        );
    }
}
  

Ответ №1:

В документации показано, как это сделать.
getDownloadURL предоставляет вам URL, который вы должны запросить, чтобы получить содержимое файла, затем вы можете поместить это содержимое в состояние вашего компонента, чтобы отобразить его.