Я использую multer-gridfs-storage
и gridfs-stream
для хранения моего видео в бэкэнде (Express / Node).Когда я пытаюсь получить файл для воспроизведения на моем внешнем интерфейсе (React), проигрыватель отказывается распознавать источник.
Я использую Video-React для отображения видео при загрузке.Загрузка прошла успешно, я получаю двоичную строку из бэкэнда, которую я преобразовал в BLOB-объект.
try{
fileBlob = new Blob([res.data], {type : res.headers['content-type']});
}catch(err){
console.log('Error converting to blob');
console.log(err);
}
Это мой проигрыватель Video-React, который визуализируется
<Player
autoPlay
ref="player"
>
<source src={this.state.fileURL} />
<ControlBar autoHide={false} />
</Player>
ЗатемЯ попробовал две техники
readDataAsURL
let reader = new FileReader();
reader.onload = function(event){
//rThis is just a reference to the parent function this
rThis.setState({fileURL: reader.result}, () => {
rThis.refs.player.load();
});
}
try{
reader.readAsDataURL(fileBlob);
}catch(err){
console.log('Error trying readDataURL');
console.log(err);
}
src
устанавливается правильно, но видеоникогда не загружается
URL.createObjectURL
let vidURL = URL.createObjectURL(fileBlob);
rThis.setState({fileURL: vidURL}, () => {
rThis.refs.player.load();
});
src
имеет значение blob:
url, но все равно ничего
Это проблема с Видео-реакцией или я должен делать что-то еще?Любые указатели на ссылки, на которые я мог взглянуть, также помогут.Что я делаю неправильно?dataURL работает в случае изображений, я проверил, но не видео.