Доступ к нескольким 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 на фронтенд?

Вернуться на верх