Processar arquivos na maquina cliente em app web

Olá,

Eu quero saber se é possível selecionar um diretório qualquer da maquina cliente, e o aplicativo web, ler os arquivos sem enviar para o servidor, para fazer o código abaixo funcionar:

  private static HashMap getArquivosXML(File diretorio) {
    HashMap listaXML = new HashMap();
    for (File nota : diretorio.listFiles()) {
        if (nota.getName().contains(".xml")) {
            String serie = nota.getName().substring(22, 25);
            Integer numeroNota = new Integer(nota.getName().substring(25, 34));
            listaXML.put( serie + '-' + numeroNota, nota.getName());
        }
    }
    return listaXML;
}

Esse codigo roda em desktop. Então queria saber se usando uma solucao web, eu conseguiria ler os arquivos sem enviar para o servidor. Estando num diretório no servidor eu sei que funciona. Só queria tirar a duvida se tem como funcionar sem os arquivos estarem nele.

Em primeiro momento, acho que não é possível, pois JS (rodando no navegador) não tem acesso ao sistema de arquivos da máquina.

1 curtida

Vc está tornando a máquina cliente em um servidor.
Aplicações web possuem restrições de segurança, vc não conseguiria fazer isso, pois inclusive o que o JS recebe é um fake path.
Vc pode resolver seu problema usando sockets, mas pode ser inseguro.
Vc pode usar soluções de mercado como o UltraVnc, mas de qualquer forma não haveria 100% de segurança.

1 curtida