Я пытаюсь загрузить PDF из API, но столкнулся с небольшой проблемой.Данные, кажется, возвращаются в порядке;Вот пример его возвращения:
В приложении Angular я использую пакет ngx-filesaver для сохранения файлов.Он работает с другим PDF, над которым у меня есть немного больше контроля, чем в этом случае, и с CSV.Так что я знаю, что пакет работает в правильных ситуациях.Вот функция загрузки файла, которую я использую:
getGroup1094BTaxForm(year: string = '2017') {
return this._http.get(`${this.groupBaseUrl}/taxes/1094/${year}`, { responseType: 'text' }).pipe(
map((res: any) => {
const blob = new Blob([res], { type: 'application/pdf' });
this._fileSaver.save(<any>blob, 'group-1094b.pdf');
return res;
})
);
}
Я попытался установить responseType
в blob
и text
в запросе GET
, а затем при создании blob
после возвращения ответа я явно установил его на application/pdf
.Эта же проблема возникает, когда я вынимаю строку, которая создает большой двоичный объект, и просто передаю ответ прямо в функцию _fileSaver.save
.
Чего мне не хватает, чтобы сохранить файл, не оставляя его пустым?Я проверил этот ответ , но ни одно из решений не помогло мне.