У меня уже есть функция, которая загружает несколько отдельных файлов. Мне нужно скачать его, завернутый в уникальный zip-файл. Может ли кто-нибудь помочь мне с этим? Вот что получилось:
service.ts
download(mercado: string, data: Date, formato: string): Observable<Blob> {
const _data = formatDate(data, 'yyyy-MM-dd', 'pt');
return this.http
.get(`${API_URL}/api/nota-de-corretagem/download/${mercado}/${_data}/${formato}`, {
responseType: 'blob'
});
}
component.ts
download(notas: Models.NotaDeCorretagem[]) {
let notasChecked = notas.filter(f => f.selected === true);
notas
.filter(n => n.selected === true)
.forEach(n => {
this.notsvc.download(n.mercado, n.data, 'pdf')
.subscribe(
(blob) => {
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
document.body.appendChild(a);
a.setAttribute('style', 'display: none');
a.href = url;
a.download = n.mercado + '_' + moment(n.data).format('YYYY-MM-DD') + '.pdf';
a.click();
window.URL.revokeObjectURL(url);
a.remove();
this.erro = false;
},
(err) => {
console.log('download error:', JSON.stringify(err));
this.erro = true;
}
);
});
}