Content-Type: multipart/form-data. Для этого нужно файлы собрать в объект FormData, а затем оправить через fetch, либо XMLHttpRequest. При таком решении прогресс получится отслеживать только на XMLHttpRequest.function* makeChunks(data: Blob, chunkSize: number) {
let offset = 0;
chunkSize = Math.max(Math.min(chunkSize, data.size), 1);
while (offset < data.size) {
const chunkIndex = offset / chunkSize;
const nextOffset = Math.min(offset + chunkSize, data.size);
const chunk = data.slice(offset, nextOffset);
yield {
start: offset,
end: nextOffset,
total: data.size,
index: chunkIndex,
payload: chunk,
}
offset += chunkSize;
}
}