php rest api генерирует PDF в виде blob, как получить файл на фронтенде без сохранения на сервере. Мое решение
public function getPdf($request)
{
//генерируем PDF
return array('file' => base64_encode($res));
}
Фронтенд (angular2)
getPdf(data) {
return this.api.post('/pdf', data)
.map(res => atob(res.file))
.subscribe(
data => {
FileSaver.saveAs(new Blob([data], {type: 'application/pdf'}), "BusinessCard.pdf");
},
err => console.error(err)
);}
Похоже проблема с кодировкой на фронте, пробовал вместо atob использовать решение с MDN, base64js... выдает ошибку URIError: URI malformed
Если декодировать вручную через https://www.base64decode.org/, с настройкой UTF-8 то все получается правильно
Попробуйте base64 urlsafe decode
atob(res.file.replace(/_/g, '/').replace(/-/g, '+'))
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники