Как транслировать тело HTTP-запроса POST в браузере
Большая картина в том, что я хочу в режиме реального времени загружать записанное аудио из браузера прямо на Google Drive.
Это любимый проект, поэтому я счастлив играть с экспериментальными веб-технологиями.
В настоящее время у меня есть браузер, получающий канал с микрофона, используя MediaDevices.getUserMedia()
и кодировать его в mp3 в WebWorker. Кодировщик возвращает rxjs.Observable<Int16Array>
это будет производить куски закодированного файла при подписке.
Я хотел бы использовать возобновляемую загрузку для загрузки файла, предпочтительно в стиле "одного запроса". Сложность заключается в загрузке файла в том виде, в каком он создается кодировщиком.
Я ценю то, что, вероятно, смог бы достичь аналогичного результата, используя стиль "несколько кусков", собирая результаты кодировщика в BLOB-объекты и отправляя их с интервалом. Моя проблема с этим заключается в том, что чем больше "живая" загрузка (меньшие порции), тем больше запросов POST я буду делать.
XMLHttpRequest.send () указывает, что я могу предоставить ReadableStream в качестве тела. НО кажется, что эта экспериментальная технология еще не поддерживает потоки байтов