Попытка передать файл из ReactJS в Django-Rest с помощью пост-запроса выборки.
Я пытался в течение нескольких часов передавать файл из django, чтобы среагировать. Но, получая ошибки, сначала я сделал файл pdf изатем передать запрос на выборку в django, но получил ошибку, я сделал много изменений, но всегда получал ошибку типа «файл не отправлен», затем вносил изменения в мой код django, теперь я получаю ошибку »[« Неверные данные.Ожидается словарь, но есть кортеж. "]".Вот мой код ниже:
REACTCODE:
genPDF=(evt)=>{
evt.preventDefault();
html2canvas(document.getElementById("pdfid")).then(canvas=>{
let img=canvas.toDataURL('img/png');
let doc=new JsPDF();
doc.addImage(img,'JPEG',30,30);
doc.output('blob');
//doc.save('test.pdf');
let formdata=new FormData();
formdata.append('file',doc);
this.postpdf(formdata)
});
};
postpdf=(formdata)=>{
console.log("Form data");
console.log(payload);
fetch(`http://127.0.0.1:8000/chauffeur/pdf_upload/`,
{
method: 'POST',
body:formdata,
}
).then(response => response.json()).catch(error => console.error('Error:', error));
};
DjangoCode
Модели:
class Pdf(models.Model):
file=models.FileField(null=False,blank=False)
Сериализатор :
class PdfSerializer(serializers.ModelSerializer):
class Meta:
model = Pdf
fields = ['file']
Views.py :
class PdfUpload(APIView):
def get(self, request):
return Response([PdfSerializer(file).data for file in Pdf.objects.all()])
def post(self,request):
payload=(request.data,request.FILES)
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)
Я не могу его отсортироватьВ чем проблема, я делаю неправильный способ отправить файл в Django?или есть проблема в моем почтовом запросе?. Пожалуйста, нужны предложения