Отправить звонок по нажатию кнопки, чтобы загрузить отчет Excel - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь скачать файл Excel, давая POST вызов по нажатию кнопки от angular js.Мой контроллер Java возвращает void.

сервис для записи в файл Excel:

response.setContentType("application/ms-excel");
response.setHeader("Content-Disposition","attachment filename=\"" + fileName + ".xls"+ "\"");
workbook.write(response.getOutputStream());

ответ имеет тип HttpServletResponse.

Как мне написать метод в Angular скачать файл ??

1 Ответ

0 голосов
/ 29 января 2019

Для загрузки файла с сервера.

Вызов функции при нажатии кнопки.

 downloadFile():void
  {
    this.getFiles("http://localhost:80080/api/demo/GetTestFile")
    .subscribe(fileData => 
      {
      let b:any = new Blob([fileData], { type: 'application/zip' });
      var url= window.URL.createObjectURL(b);
        window.open(url);
      }
    );
  }

  public getFiles(path: string):Observable<any>{
    let requestOption = new RequestOptions({responseType: ResponseContentType.Blob});
    return this.http.get(filePath, requestOption)
        .map((response: Response) => <Blob>response.blob())  ;
  }
...