У меня внутреннее приложение Electron. Я загружаю приложение Angular. Я загружаю байтовый массив (т. Е. ArrayBuffer) через вызов API и передаю эти данные методу, который я подключаю через Electron.remote.require ('./ file-service'), чтобы создать файл в локальной системе. файловая система.
Если пользователь меняет маршрут, всплывающее окно предложит получить подтверждение навигации. Если пользователь нажимает «ОК» и между ними находится http-запрос, мне нужно сохранить полученные байты.
Пример углового кода:
declare var electron: any;
const { createDataFile } = electron.remote.require('./file-service')
const payLoad = new FormData();
const httpOptions = {
headers: new HttpHeaders(),
reportProgress: true,
};
const req = new HttpRequest('GET', 'http://localhost:8080/getData', payLoad, {...httpOptions, responseType: 'arraybuffer'});
this.http.request<ArrayBuffer>(req).subscribe((event: HttpEvent<ArrayBuffer>) => {
switch (event.type) {
case HttpEventType.DownloadProgress:
// This method will manipulate and show the progress bar in the UI
this.updateProgress(event.loaded);
break;
case HttpEventType.Response:
createDataFile(event.body)
break;
}
});
Я пытаюсь сохранить данные. Если размер массива буфера составляет 25 МБ, и я получил 12 МБ, и я пытаюсь уйти, в этот момент мне нужно сохранить эти 12 МБ.
Пожалуйста, помогите мне, как получить промежуточный ответ.