Selecionar Arquivo em Disco via Web

8 respostas
G

Pessoal, existe alguma maneira de selecionar arquivos pela web assim como é possível com JSwing utilizando o JFileChooser???
De abrir uma tela pra selecionar os arquivos de uma extensão específica e guardar o caminho deles…

8 Respostas

g4j

Sim, mas tem que haver interatividade por parte do usuário.

Não dá pra fazer isso automaticamente.

G

Entendi… Nesse caso haveria sim.
A questão é que parte do meu sistema é web e acabei fazendo essa outra parte com JSwing…
Fica meio estranho abrir outro programa e depois voltar pra web…
E na verdade essa transição ficou meio esquisita porque depois de selecionar os arquivos e fazer o processamento, eu preciso FECHAR essa aplicação JSwing… E se eu dou um System.exit(0);, ele para meu servidor web e não seria interessante o usuário ter que fazer todo o processo de login novamente.

g4j

Certo. Dá pra fazer upload via web sim, qual tecnologia/framework você usou no sistema web?

G

Usei JSF 2.0…
Mas minha intenção não é fazer upload. É selecionar os arquivos de determinada extensão (só permitir essa extensão, assim como o JFileChooser faz) e com esse caminho, fazer algumas operações (ex: mover pra outra pasta, compactar, criptografar… enfim…)
:slight_smile:

G

Opa encontrei aqui…

http://www.primefaces.org/showcase/ui/fileUploadMultiple.jsf

Estou usando o PrimeFaces e ele faz tudo isso… É só eu usar essa interfacezinha que o ManagedBean fará o restante!

G

É… achei que seria fácil mas não consegui até agora ver uma maneira de pegar os arquivos selecionados sem fazer o bendito upload…
Esse <p:fileUpload> até consegue pegar os caminhos dos arquivos que eu seleciono… Mas ele faz umas coisas que me atrasam muito… Ele joga o arquivo selecionado pra uma pasta temporária e depois joga pra web… Isso é muita perda de tempo.

Existe alguma maneira de pegar o caminho do arquivo ou dos arquivos selecionados??

P

Vc já percebeu o que vc ta querendo fazer ? Vc sabe como flui a informação em uma aplicação web ? Pra resumir, em aplicação web todo o processamento é no servidor e vc ta querendo manipular arquivos no lado cliente e a unica coisa a fazer é o upload que consite em enviar algum arquivo do cliente para o servidor! O que vc pode tentar fazer é criar um applet pra rodar no lado do cliente mas não me lembro se applets tem permisão de manipulação de arquivos, inté

G

Não tive muito pra onde correr…
Tive que jogar os arquivos numa pasta temporária padrão que é declarada no web.xml do PrimeFaces FileUpload.
Perco uns 4 ou 5 segundos mas consegui fazer o que precisava.

Criado 31 de julho de 2012
Ultima resposta 31 de jul. de 2012
Respostas 8
Participantes 3