Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

312
Visualizações
Django y React: [ErrorDetail(string='Los datos enviados no eran un archivo. Verifique el tipo de codificación en el formulario', code='invalid')]

Recibo el error: [ErrorDetail(string='The submitted data was not a file. Check the encoding type on the form.', code='invalid')] , para enviar una imagen/archivo.

Agregué el tipo de cifrado para el formulario 'multipart/form-data' también en la llamada de Axios, pero sigo teniendo el mismo error.

Tengo un modelo como este:

 class MyModel(models.Model): img = models.ImageField(upload_to='media',blank=False)

En vistas.py:

 class MyModelView(viewset.ModelViewSet): serializer_class = serializer.MyModelSerializer def post(self,request): data = serializer.MyModelSerializer(data=request.data) print(data.is_valid()) # this is false, means there is an error print(data.errors) #This one will display the error shown in the title of this question if data.is_valid(): img = data.data['img'] return Response('Success') return Response('Fail')

En serializador.py:

 class MyModelSerializer(serializers.ModelSerializer): class Meta: model = MyModel fields = '__all__'

En el lado frontal (Reaccionar):

 function ImgComp(){ let [img,setImg] = useState({'image':''} let {image} = img function handleChange(e){ setImg( { ...img,[e.target.name]:e.target.value } ) } function submitForm(e){ e.preventDefault() axios.post('127.0.0.1:8000/mymodelurl/',img,{withCredentials:true,headers:{'Content-Type':'multipart/form-data'}}) return( <div> <form method='post' encType='multipart/form-data' onSubmit = {(e)=>submitForm(e)}> <input type='file' value={image} name='img' onChange={(e)=>handleChange(e)}/> </form> </div> } }

Si depuro el img obtengo algo como:

 C:\\fakepath\\img.png
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda