Я пытаюсь загрузить несколько файлов, используя машинописный текст на угловом 6, Из службы веб-API я получаю массив больших двоичных объектов.
Сервис для получения нескольких блобов, которые мне нужны для загрузки файлов:
private downloadTest(): void {
this.downloadService$().subscribe((blobs: Blob[]) => {
blobs.forEach((blob: Blob, index: number) => {
FileDownloader.startDownload(blob);
});
});
}
В цикле я вызываю метод startDownload для загрузки файла:
export class Downloader {
public static startDownload(blob: Blob): void {
blob = new Blob([blob], { type: "type of file" });
const url = window.URL.createObjectURL(blob);
const anchor = document.createElement("a");
document.body.appendChild(anchor);
anchor.download = "fileName";
anchor.target = "_blank";
anchor.href = url;
anchor.click();
document.body.removeChild(anchor);
window.URL.revokeObjectURL(url);
}
}
Приведенный выше код работает нормально в Chrome, но в Firefox, когда щелчок привязки выполняется, он прерывает цикл, а остальная часть файла не загружается,
Когда я удалил anchor.download = "fileName"; он также загрузит файл в Firefox, но откроет и закроет новую вкладку. Кроме того, имя файла будет случайным.
Я много чего пробовал, но ничего не получалось.
Я просто хотел скачать файл как другой файл в цикле с указанным именем файла.
Заранее спасибо.
С уважением,
Радж Шарма