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

138
Views
¿Hay un problema de carga de 10 MB con PHP o Javascript?

En este momento estoy tratando de cargar archivos "grandes" en un servidor de alojamiento web. Para esto utilizo un campo de entrada con multiple='multiple'. El tamaño máximo de archivo no está establecido para este campo de entrada. La versión de PHP es 7.4. El hoster establece el tamaño máximo de carga en 256 MB.

Los archivos son procesados por js en un bucle simple (files[x]). El problema es que los archivos de más de 10 MB no obtienen ninguna carga útil al cargarlos. Genero datos de formulario con fragmentos de archivos o archivos completos adjuntos que solo se envían cuando los archivos/fragmentos tienen menos de 10 MB o cuando dejo que los archivos más grandes se corten a través de Javascript en fragmentos de menos de 10 MB. La matriz PHP $_FILES- permanece vacía en archivos de más de 10 MB y los datos del formulario no están disponibles ni se muestran en la carga en las herramientas de desarrollo de Chrome/FF. Las solicitudes se envían a través de jquery $.ajax() después de intentar buscar y jquery $.POST(). Todos muestran el mismo comportamiento. No se muestran errores.

Por el hecho de que puedo cargar archivos de más de 10 MB cuando los divido en cualquier cosa por debajo de 10 MB a través de javascript slice() y cualquier archivo por debajo de 10 MB parece mostrarme que no es un problema de secuencia de comandos. Los archivos de menos de 10 MB también funcionan cuando configuro el tamaño de fragmento en algo así como 100 MB o 200 MB, que está dentro del límite máximo de tamaño de carga.

¿Hay alguna limitación conocida del servidor Apache/nginx que pueda haber pasado por alto?

Editar 27.05.2022 - 21:00 Aquí está el código. Como puede ver, es "nada demasiado elegante":

 var chunkSize = 100 * 1024 * 1024; for( var start = 0; start < target.files[ 0 ].size; start += chunkSize ){ var chunk = target.files[ 0 ].slice( start, start + chunkSize );// + 1); var fd = new FormData (); fd.set( 'data', chunk ); await $.ajax({ url : url, type : 'POST', contentType : false, data : fd, cache : false, processData : false //, dataType : 'formData' }) })
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!