Я использовал следующий код для загрузки больших файлов в куски от Angular 5 до ASP Core Web API. На стороне клиента - преобразование ArrayBuffer в Base64String:
private arrayBufferToBase64String(buffer: ArrayBuffer) {
let binaryString = ''
var bytes = new Uint8Array(buffer);
for (var i = 0; i < bytes.byteLength; i++) {
binaryString += String.fromCharCode(bytes[i]);
}
return window.btoa(binaryString);
}
Проводка строки (это версия Angular 2+):
var data = {
data: this.arrayBufferToBase64String(arrayBuffer)
}
this.httpClient.post(url, data)
На сервере (C #):
var bytes = Convert.FromBase64String(part.Data);
part
является модельным классом:
public class FilePartModel
{
public string Data { get; set; }
}