Доступ к нескольким PDF-файлам с помощью Django Rest Framework и REACT frontend
Я пытаюсь получить доступ к загруженным файлам из моего Django-rest-Framework
, которые я загрузил с помощью моего React Frontend
.
CourseDocument:
class CourseDocument(models.Model):
title = models.CharField(max_length=30, default='')
document = models.FileField(upload_to='courses')
course = models.ForeignKey(to='Course', on_delete=models.SET_NULL, null=True)
К моей конечной точке DRF:
@action(methods=\['GET', 'POST'\], detail=True, url_path='documents', permission_classes=EMPLOYEE_PERMISSION)
def course_documents(self, request, \*args, \*\*kwargs):
if request.method == 'GET':
qs = CourseDocument.objects.filter(course_id=kwargs['pk'])
fs = FileSystemStorage()
filename = qs.first().document.path
if fs.exists(filename):
with fs.open(filename) as pdf:
response = HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="mypdf.pdf"'
return response
else:
print("NOT FOUND")
if request.method == 'POST':
serializer = CourseDocumentSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(data=serializer.data, status=200)
else:
return Response(data=serializer.errors, status=400)
return Response(status=200)
Я пробовал пока с FileSystemStorage отправить его в HTTP Response с типом содержимого application/pdf.
Это сработало, но только для одного единственного файла PDF.
Я хочу избежать передачи pdf как ссылки в мой бэкэнд по соображениям безопасности.
Как я могу добиться отправки нескольких файлов pdf на фронтенд?