axios.post(`${process.env.REACT_APP_SERVER}/getPdf/`, { DATA})
.then(res => {
// console.log(res.data);
let url = window.URL.createObjectURL(new Blob([res.data], { type: "text/plain" }));
let link = document.createElement("a");
link.href = url;
link.setAttribute("download", `${1}_${2}_${3}.pdf`);
document.body.appendChild(link);
link.click();
})
def post(self,request):
file_data = codecs.open(f"{os.environ['PATH_TO_FILE']}{request.data['1']}_{request.data['2']}_{request.data['3']}.pdf",mode='rb')
response = HttpResponse(file_data, content_type='application/pdf')
response['Content-Disposition'] = f'attachment; filename="{request.data['1']}_{request.data['2']}_{request.data['3']}.pdf"'
return response
Это в питоне, бинарное представление перенести в base64
НА фронтенде необходимо было сделать следующее:
Теперь все работает приемлемо , русские слова прописываются, пдф загружается в загрузки.