В нашем проекте мы использовали конструктор 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');
}
)
);
}
Я хотел бы реализовать то, что я хочу просматривать и загружать файлы на всех системах.