Я работаю с BLOB-файлом MediaStreamRecorder, который сначала передается на мой сервер NodeJS, а затем загружается на AWS S3.Когда я посылаю BLOB-объект из файла javascript, он достигает узла js-сервера в виде буфера.Я хочу изменить его снова на blob (имеющий размер, тип и двоичные данные).
Я много гуглил, чтобы найти решение для этого, но я только что узнал, что у узлов j есть буферы, такие же, как и у блобов в браузерах, но когда я загружаю свой блоб напрямую в AWS, видео запускается отлично, но когда я загружаюбуфер массива для S3, он показывает поврежденный файл.
Мой файл JS отправляет данные в S3 как
var mimeType = 'video/webm';
var fileExtension = 'webm';
if (isMimeTypeSupported('video/webm\;codecs=h264')) {
mimeType = 'video/mp4';
fileExtension = 'mp4';
}
var file = new File([recorder ? recorder.blob : ''], getFileName(fileExtension), {
type: mimeType
});
Мой файл JS отправляет данные на сервер моего узла как
function client(blob){
socket.send(blob)
socket.addEventListener('message', event => {
console.log(`Message from server: `,event);
});
}
Мой сервер Node имеет вид
server.on('connection', socket => {
console.log("Commention Eslablished");
socket.on('message', message => {
console.log(message);
bigBlob.push(message);
});
socket.send('blob recived');
socket.on('close', message => {
console.log("close with");
});
});
Я хочу загрузить те же данные с сервера узла, что и данные из браузера