Как отправить файл с реакцией и отдыхом в django - PullRequest
0 голосов
/ 18 апреля 2019

Как я могу отправить файл изображения от реакции на django.

Я новичок в реакции и django, в настоящее время я успешно отправляю и получаю данные с / на конечные точки, теперь я хочу отправитьфайл изображения или любой другой файл отреагировать на django или получить файл изображения от django, чтобы среагировать. Я написал некоторый код, но он не работает должным образом, и я столкнулся с большими трудностями при отправке файла, я исследовал, но не получил никакой полезной ссылки.Кто-нибудь поделится ссылкой, откуда я смогу лучше понять, как это работает. Вот моя попытка ниже:

РЕАКТНАЯ ЧАСТЬ

       let doc=new JsPDF();
       doc.addImage(img,'JPEG',30,30);
       //doc.save('test.pdf');
       let formdata=new FormData();
       formdata.append('file',doc);

       fetch(`http://127.0.0.1:8000/chauffeur/pdf_upload/`,
           {
               method: 'POST',
               body:formdata,
           }
       ).then(response => response.json()).catch(error => console.error('Error:', error));

DJANGO PART

class PdfUpload(APIView):

parser_classes = (MultiPartParser, FormParser,)

def get(self, request):
    return Response([PdfSerializer(file).data for file in Pdf.objects.all()])

def post(self,request):
    payload=(request.data,request.FILES)
    print("Hello")
    print(payload)
    serializer=PdfSerializer(data=payload)

    if serializer.is_valid():
        serializer.save()
        return Response("File Saved in Backend",status=status.HTTP_201_CREATED)
    return Response(serializer.errors,status=status.HTTP_400_BAD_REQUEST)

Но я получаю слишком много ошибок из приведенного выше кода, например, ни один файл не отправлен или ожидаемый, но получит список, может кто-то исправить вышеуказанный код или может поделиться полезными ссылками, откуда я могу лучше понять. Спасибозаранее!

1 Ответ

0 голосов
/ 19 апреля 2019

Если имя объекта в вашем models.py, например, PdfModel, напишите так:

from django.core.files import File

def post(self, request):
    my_file = File(request.data.get('file'))
    new_pdf_file = PdfModel.objects.create(
         field1=request.data.get('field1'),
         field2=request.data.get('field2'), 
         field3=my_file )
    new_pdf_file.save()
    return Response({"something","something")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...