O seguinte problema ocorreu usando o Firefox v73 na Janela 7:
No meu código, eu uso um seletor de arquivos múltiplos em html para carregar até 100 arquivos paralelamente:
<input type="file" id="files" name="files" multiple>
Os arquivos serão enviados para uma API REST que os processará posteriormente. Quando seleciono um único arquivo (no explorador de arquivos) atualmente em uso, recebo uma mensagem de erro (provavelmente por janela) informando que o arquivo não pode ser escolhido porque está em uso. Se eu tentar escolher vários arquivos que contêm um ou mais arquivos em uso, não ocorrerá nenhum erro, mas o upload parecerá interrompido quando o arquivo em uso for alcançado e aguardando a liberação do arquivo. Isso leva à solicitação de espera por um tempo limite (que é de 1 minuto no meu caso).
Existe alguma opção para detectar o problema (no arquivo de uso) antes de tentar fazer o upload dos arquivos?
PS: Tentei o mesmo no Chrome e ele retorna um erro antes de enviar a solicitação para a API REST.
fonte
Respostas:
Isso soa como um problema no sistema operacional.
Algo está impedindo que seu arquivo seja acessado e isso precisa de uma correção do seu lado.
Duvido que seja um problema comum, e é muito difícil criar uma solução sem ter o mesmo problema, mas uma coisa que você pode tentar é ler seus Arquivos antes de enviá-los. Isso pode ser feito de maneira bastante conveniente com o
Blob.prototype.arrayBuffer
método, que pode ser preenchido com polifólio.Para evitar muitas E / S, você pode até tentar ler apenas uma pequena parte, graças ao
Blob.prototype.slice()
métodofonte
Para selecionar vários arquivos, por que você não usa https://github.com/blueimp/jQuery-File-Upload
fonte