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

256
Visualizações
Problemas al cargar varios archivos en el depósito S3 usando javascript

Hola a todos, quiero cargar varios archivos en Aws S3 usando javascript sdk, estoy usando AngularJs, he escrito el código para cargar un solo archivo y funciona bien, pero el problema que tengo es:

1). Necesito recorrer todos los archivos y cargarlos uno por uno.

2). Estoy asignando un nombre de archivo al archivo que subo. ¿Cómo almacenaré varios nombres de archivo en un solo $scope.var ?

3). Primero tengo que cargar todos los archivos y luego llamar a la función Enviar para llamar a lambda api para enviar mis datos como carga útil json. No puedo llamar a la función de envío en un bucle, ¿cómo voy a lidiar con esto?

Flujo: - Desde un formulario, el usuario seleccionará varios archivos, haga clic en el botón para enviar, primero se llamará a la función de carga a s3 para cargar todos los archivos a s3 y estoy generando los nombres de esos archivos por marcas de tiempo, después de cargar a s3 otra llamada api sucederá y los datos que incluyen todos los datos del formulario + nombres de archivo se enviarán a esa API como carga útil json.

Mi código -

 if($scope.Form.$valid===true){ AWS.config.update({ region: "us-east-2", credentials: new AWS.CognitoIdentityCredentials({ IdentityPoolId: "xxxxxx" }) }); $('#requestButton').html("Submitting..").attr('disabled',true); var s3 = new AWS.S3({ apiVersion: 'xxxx-xx-xx', params: {Bucket: "xxxx"} }); var files = document.getElementById('fileUpload').files; if(files.length == 0){ // $scope.submitForm(data); } if (files){ for (var i = 0; i < files.length; i++){ var file = files[i]; var fileName = file.name.split('.')[i]+new Date().getTime()+"."+file.name.split('.').pop(); data.file= fileName; var filePath = '' + fileName; var fileUrl = 'https://xxxx.amazonaws.com/xxxx/' + filePath; s3.upload({ Key: filePath, Body: file, ACL: 'private' }, function(err, data2) { if(err) { toastr["error"]("Cannot submit your form.", "Failed!"); $('#requestButton').val("Submit").attr('disabled',false); reject('error'); console.log("FAILED") } console.log(data); $scope.submitForm(data); }).on('httpUploadProgress', function (progress) { var uploaded = parseInt((progress.loaded * 100) / progress.total); $("progress").attr('value', uploaded); }); } } }

Mi pregunta es: ¿cómo puedo agregar más nombres de archivos en el objeto data.file y la segunda es dónde debo llamar a submitForm() ? Quiero llamar a la función de formulario de envío solo una vez después de cargar todos los archivos. Por favor, ayúdenme.

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