Upload de arquivos. Onde salvar?

5 respostas
M

Olá pessoal,

estou armazenando os arquivos que foram subidos para o servidor em uma subpasta que criei dentro da estrutura de diretórios da minha app somente para teste, já que cada vez que é efetuado o deploy da aplicação o JBoss cria um novo diretório temporário com o conteúdo do arquivo .war sem os arquivos subidos anteriormente, claro, pois não fazem parte da minha aplicação.

A pergunta é, como eu faço para que os arquivos subidos fiquem visíveis à minha app mesmo depois de fazer o deploy?

Acho que a melhor solução seria criar um diretório virtual apontando para outra pasta fora da estrutura de diretórios da minha aplicação ou do JBoss que tivesse um alias para que os arquivos possam ser acessados, mas não sei se dá pra fazer isso.

Idéias são bem-vindas!
[]´s

5 Respostas

filipeandrep

Cara passamos por este problema aqui na empresa e chegamos a conclusao que a solucao ou é criar um novo contexto colocar seus aquivos lá e apontar para ele ou subir seus arquivos alterados um a um sem fazer undeploy.

Espero ter ajudado.

danieldestro

Que tal salvar os arquivos numa área de “storage” e ter um Servlet que busca estes arquivos e envia no response?

M

No caso é upload somente de imagens que serão exibidas posteriormente na página. Se for passar via response vai ser com stream, certo? Como reconstruir a imagem para exibir depois?
Seria “copiar” a imagem da área de storage e pôr em uma subpasta da minha aplicação a cada requisição?

[]´s

danieldestro

Não…

Faz assim o processo de upload:

Faz upload da imagem --&gt grava num diretório qualquer (ex: /img)

E pra ver a imagem:

Cria um Servlet chamado ImgServlet
Configura ele para a url "/img-up/*"
Seu servlet pega o nome depois de "img-up/" e procura a imagem no diretório
Grava os bytes da imagem no response, com Contet Type "image/jpg" ou "image/gif", conforme o tipo.

DenninDalke

Como faria pra pegar o valor que vem depois do “/img-up/” ?
Não daria pra pegar como um parâmetro já que não tem nenhum…

Criado 2 de fevereiro de 2007
Ultima resposta 25 de dez. de 2008
Respostas 5
Participantes 4