Boa noite pessoal,
Até o momento o único projeto com qual me envolvi que trabalhava com uploads, era de arquivos, que uma vez gravados eram pouco usados (centenas de vezes). Então eu gravava eles em uma pasta no SO (/opt/… por exemplo), e quando precisava fazer o download, pegava ele no sistema, colocava em memória e disponibilizava (forçava download com o VRaptor).
Agora estou com um projeto com conceito semelhante, mas a pessoa vai subir uma imagem (por exemplo), e ela será muito vista (milhares de vezes).
O ideal seria ela estar em uma pasta pública e não do sistema, assim eu controlaria o acesso a ela com um filter (somente logados), e não precisaria colocar ela em memória todas as vezes. Mas não sei como fazer isso. Pensei em “publicar” uma pasta do servidor, mas não tenho essa liberdade no ambiente, e nem acho que seria o ideal em relação a segurança.
Pensei em salvar na WebContent, mas não acho que seria uma boa prática, quando eu fosse atualizar o WAR seria um problemão.
Como vocês costumam fazer em um caso desses? Qual é a melhor prática?
Muito obrigado, qualquer ajuda é bem vinda!