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

232
Visualizações
carga de archivos ajax: el cuerpo de su solicitud POST no está bien formado en varias partes/datos de formulario

Estoy tratando de cargar un archivo a s3 con la carga directa del navegador usando ajax

Aquí está mi html

 <form id="upload" action="//s3-ap-south-1.amazonaws.com/cushbudirect" method="POST" enctype="multipart/form-data"> <input type="hidden" name="Content-Type" value="multipart/form-data" /> <input type="hidden" name="acl" value="private" /> <input type="hidden" name="success_action_status" value="201" /> <input type="hidden" name="policy" value="==" /> <input type="hidden" name="X-amz-credential" value="AKIAJRVEXUTTVN4NYAQ/20170321/ap-south-1/s3/aws4_request" /> <input type="hidden" name="X-amz-algorithm" value="AWS4-HMAC-SHA256" /> <input type="hidden" name="X-amz-date" value="20170321T081130Z" /> <input type="hidden" name="X-amz-signature" value="152c81d87fc8bbf2642e26b28f1c41b361e7285e835971b10c74ee6d7f03b5" /> <input type="hidden" name="key" value="hello.jpg" /> <input type="file" name="file" id="image"> <input type="submit" value="upload" name="upload"> </form>

js

 $('#upload').submit(function (e) { e.preventDefault(); //get form data var data= new FormData($("#upload")[0]); console.log(JSON.stringify(data)); $.ajax({ url:$(this).attr('action'), method:"post", processData:false, data:image, contentType:'multipart/form-data', success:function (data) { console.log(JSON.stringify(data)); }, error:function (err) { console.log(JSON.stringify(err)); } }) });

Pero recibí el siguiente error de la respuesta de error de aws xml.

El cuerpo de su solicitud POST no está bien formado en varias partes/datos de formulario.

Probé las soluciones de preguntas similares, pero ninguna funcionó para mí.

Sin embargo, cuando trato de cargar sin ajax (envío de formulario normal), las cargas funcionan bien, así que estoy seguro de que es un problema con form data

console.log(JSON.stringify(data)); devuelve {} .

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Intente cambiar su función ajax como se indica a continuación y avíseme si funciona.

EDITAR:

 $('#upload').submit(function (e) { e.preventDefault(); //get form data var data = new FormData($("#upload")[0]); console.log(JSON.stringify(data)); $.ajax({ url:$(this).attr('action'), type : 'PUT', processData:false, data:data, contentType:data.type, success:function (data) { console.log(JSON.stringify(data)); }, error:function (err) { console.log(JSON.stringify(err)); } }) });
over 4 years ago · Santiago Trujillo Relatório
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