Как я могу показать файл в DOM, который я получаю из IPFS, не загружая его полностью? - PullRequest
0 голосов
/ 30 сентября 2019

Можно ли достичь поставленной ниже цели, если да, то как?

Я загрузил видеофайл на ipfs и теперь у меня есть его хэш. Я использовал этот хэш в функции ipfs.cat, чтобы получить этот файл.

Я успешно получаю файл и отображаю его в DOM, который работает нормально.

componentDidMount() {
        ipfs.cat(this.props.ipfsHash, (error, result) => {
            if (error) {
                console.error(error)
                return
            }

            var myArray = result;

            //convert Uint8array to blob
            var blob = new Blob([myArray], { 'type': 'video/mp4' });

            //convert blob to url
            var url = URL.createObjectURL(blob);

            //dynamically show video
            const video = document.querySelector('video');
            video.src = url;
            video.load();
            video.onloadeddata = function () {
                video.play();
            }
        })
    }

Когда я получаю файл из IPFS, происходит следующее: ipfs.car или ipfs.get обе функции сначала загружают полный файл, а затем показывают его в DOM.

Чего я хочу добитьсяя не хочу ждать загрузки всего видео (файла), а затем отображать его в DOM, вместо этого я хочу отображать его во время выполнения, поскольку я продолжаю получать данные из IPFS.

...