Возможный подход к фрагментам видеофайлов в угловом формате:
Представление HTML содержит ввод файла типа, который вызывает функцию на component.ts
при загрузке файла. Функция компонента должна проверять тип файла - это видео, а затем разбивать его на небольшие части. Внешняя служба может использоваться для управления и отправки каждого чанка в API. Затем бэкэнд должен отвечать за получение каждого чанка и объединить его в окончательный файл.
Вот простой пример, иллюстрирующий программный процесс от пользовательского интерфейса до API. Сценарии очень простые, но они показывают поток. Вы должны реализовать проверку файлов, попробовать / кэширование и другие улучшения, чтобы сделать его безопасным.
component.html
<input type="file" (change)="fileSelected($event)" />
component.ts
async fileSelected(file) {
const chunkSize = 40000;
for( let offset = 0; offset < file.size; offset += chunkSize ){
const chunk = file.slice( offset, offset + chunkSize );
const apiResponse = await this.apiService.sendChunk( chunk, offset );
}
}
service.ts
sendChunk( chunk, offset ) {
const APIurl = 'http://myapi.com';
const data = {
chunk: chunk,
offset: offset
};
return this.http.post(APIurl, data);
}
Несколько ссылок на нативный javascript с дополнительными реализациями: link1 и link2