El siguiente problema ocurrió usando Firefox v73 en Windows 7:
En mi código, uso un selector de múltiples archivos en html para cargar hasta 100 archivos en paralelo:
<input type="file" id="files" name="files" multiple>
Los archivos se enviarán a una REST-API que los procesará posteriormente. Cuando selecciono un solo archivo (en el explorador de archivos) que está actualmente en uso, recibo un mensaje de error (probablemente por ventana) que me dice que el archivo no se puede seleccionar porque está en uso. Si trato de elegir varios archivos que contienen uno o más archivos en uso, no tengo ningún error, pero la carga parece detenerse cuando se alcanza el archivo en uso y esperando que se libere el archivo. Esto lleva a la solicitud de esperar un tiempo de espera (que es 1 minuto en mi caso).
¿Hay alguna opción para detectar el problema (archivo en uso) antes de intentar cargar los archivos?
PD: He intentado lo mismo en Chrome y devuelve un error antes de enviar la solicitud a REST-API.
fuente
Respuestas:
Eso suena como un problema del sistema operativo.
Algo está bloqueando el acceso a su archivo y esto necesita una solución de su parte.
Dudo que sea un problema común, y es bastante difícil crear una solución sin poder experimentar el mismo problema, pero una cosa que puedes intentar es leer tus archivos antes de enviarlos. Esto se puede hacer de manera bastante conveniente con el
Blob.prototype.arrayBuffer
método, que se puede rellenar.Para evitar muchas E / S, incluso puede intentar leer solo una pequeña parte, gracias al
Blob.prototype.slice()
método.fuente
Para seleccionar varios archivos, por qué no usa https://github.com/blueimp/jQuery-File-Upload
fuente