В итоге я воспользовался этим.
fetch(BASE_URL + `/example/example/pdf/${exampleId}`)
.then(response => {
const filename = response.headers.get('Content-Disposition').split('filename=')[1];
response.blob().then(blob => {
let url = window.URL.createObjectURL(blob);
let a = document.createElement('a');
a.href = url;
a.download = filename;
a.click();
});
});
Основная проблема, с которой я столкнулся, заключается в том, что я забыл выставить Content-Disposition
в своем бэкэнд-API, поэтому React
не может прочитать Content-Disposition
и это вызвало у меня сильную головную боль.