Как скачать несколько PDF-файлов в виде ZIP-файла? - PullRequest
0 голосов
/ 31 октября 2019

У меня уже есть функция, которая загружает несколько отдельных файлов. Мне нужно скачать его, завернутый в уникальный 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;
            }
          );
        });       
      }
...