Ошибка при отправке PDF через ссылку Django

Совсем новичок в Django. Я пытался отправить CSV успешно, используя этот код, но я получаю следующую ошибку при отправке файла pdf, который я сгенерировал с помощью PDFpages из matplotlib

UnicodeDecodeError: кодек 'utf-8' не может декодировать байт 0xac в позиции 10: недопустимый начальный байт

Вот код

def download_file(request):
# fill these variables with real values
fl_path = 'file.pdf'
filename = 'report.pdf' 

fl = open(fl_path, 'r', encoding='utf-8')
mime_type, _ = mimetypes.guess_type(fl_path)
print(mime_type)
response = HttpResponse(fl, content_type=mime_type)
response['Content-Disposition'] = "attachment; filename=%s" % filename
return response

Есть ли способ узнать, в какой правильной кодировке я должен отправить свой файл?

Используйте django FileResponse вместо HttpResponse, FileResponse более идеален для отправки файловых данных.

return FileResponse(fl, filename=''.format(filename ), as_attachment=True,
                                content_type='application/pdf')
Вернуться на верх