Скачать и просмотреть документ на Safari Ipad - PullRequest
0 голосов
/ 17 мая 2019

В нашем проекте мы использовали конструктор BLOB-объектов и FileSaver для загрузки и просмотрите документ (.pdf, .xls, .csv). Он работает правильно на Windows, Android со всеми браузерами (Chrome, IE, Mozilla) Но у нас есть проблема с на Ipad Safari. Мы хотим скачивать и просматривать файлы.

  The function that I have used in component.ts:
  downloadAndViewPdfFile() {
    this.service().download().subscribe((res) => {
      const fileUrl = URL.createObjectURL(res);
      window.open(fileUrl, '_blank');
    });
  }

Открывает новую вкладку и показывает пустую страницу (service.ts)

download(): Observable<any> {
  return this.http.post<any>(this.getPath() + '/download', {responseType: 'blob'} as { responseType: any }).pipe(
    tap(
      (res) => {
        return new Blob([res], {type: 'application/pdf'});
      }
    )
  );
}

Загружает файл в Windows (не отображается на новой вкладке), но показывает файл (не отображается на новой вкладке) в Safari Ipad

download(): Observable<any> {
  return this.http.post<any>(this.getPath() + `/download`, {responseType: 'blob'} as { responseType: any }).pipe(
    tap((res) => {
        FileSaver.saveAs(res, 'export.pdf');
      }
    )
  );
}

Я хотел бы реализовать то, что я хочу просматривать и загружать файлы на всех системах.

...