Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

168
Views
Un bloqueo extraño al cargar más de 40 archivos

Estoy tratando de crear una herramienta que me permita cargar cientos de archivos de menos de 1 mb en mi sitio web con "<input type="file" multiple"

Funciona perfectamente, pero cuando selecciono más de 40 archivos, se detiene por completo (aparentemente, escriba = "archivo" varios archivos cargados simultáneamente, así que pensé que ESTE era el problema).

Así que hice un ciclo y, en su lugar, SÓLO cargué 1 archivo a la vez y esperé hasta que se completara antes de cargar el siguiente. TIENE EL MISMO PROBLEMA. Parece que cada vez que llega a ALREDEDOR de 40 archivos, simplemente se detiene. Incluso eliminé el proceso de carga en el archivo PHP para ver si es la carga en sí o no.

 <input type="file" multiple id="file-input" accept=".jpg, .jpeg, .png"><br> <button id="upload-button">Upload File</button><br> <script stuff below:> document.querySelector('#upload-button').addEventListener('click', function() { files_total = document.querySelector('#file-input').files.length; files_completed = 0; Upload_the_file(files_completed); // upload only the 1st file }); function Upload_the_file(i){ // this is a function called to upload 1 file let data = new FormData(); data.append('file', document.querySelector('#file-input').files[i]); let request = new XMLHttpRequest(); request.open('POST', 'upload.php'); request.upload.addEventListener('progress', function(e) { //this only shows progress let percent_complete = (e.loaded / e.total)*100; //Add_log('file ' + (i+1) + ': ' + percent_complete.toFixed()); }); request.addEventListener('load', function(e) { // this load when PHP is done with uploading if (!(request.response=="File uploaded successfully")){ alert("error"); return; } files_completed += 1; if (files_completed==files_total){ Add_log("Done!"); alert('completely done'); }else{ Upload_the_file(files_completed); // upload next file. This will call upon this same function until we're done } }); request.send(data); } // end of function

¿Tengo que finalizar o cerrar un addEventListener? No tengo idea de por qué se detiene exactamente alrededor de 40 archivos :( Pensé que estaba llamando a upload.php con demasiada frecuencia, pero solo lo hace cada 5-6 segundos. ¿Hay algún tipo de tiempo de espera o algo que me falta? Tenga en cuenta, ¡Las funciones para cargar un nuevo archivo SOLO se llaman después de que se haya terminado de cargar y se haya activado "request.addEventListener('load', function(e) { "! Por favor ayuda :( ¡Muchas gracias!

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!