Galera,
Na minha aplicação faço upload de arquivos…esses arquivos são gravados no disco e no banco vai somente o caminho + nome desse arquivo…gostaria de disponibilizar esses arquivos para download, porém eles são restritos à algumas pessoas, então não posso simplesmente por a url no jsp para q façam download, antes precisa saber se a pessoa tem acesso a esses arquivos…
Se disponibilizar a url com o caminho do arquivo, sem utilizar a aplicação qualquer um conseguiria fazer o download…
Então tive a seguinte idéia: Instanciar um objeto File com o caminho e nome desse arquivo, então na servlet depois q verificar se o usuário tem acesso, dai disponibilizar para download…
No começo eu estava gravando o arquivo no banco (como não é performático, resolvi mudar) então quando recuperava eu tinha ele em um array de bytes…dai ficava facil, pois fazia:
byte[] arquivo = ....
response.setContentType("application/vnd.ms-excel");
ServletOutputStream out = response.getOutputStream();
out.write(arquivo);
Mas com esse novo modo q estou trabalhando, não consigo obter um array de bytes do arquivo…será q alguém saberia me dizer como fazer isso? Ou se tiver uma outra idéia para o problema de segurança dos arquivos, tbm será bem vinda…
Valeu.
César Lino