Verificar um diretorio X e linkar os arquivos dentro para download

11 respostas
java
R

Boa tarde, sou iniciante na área, atualmente trabalho como trainee em uma empresa e eles me pediram para desenvolver uma aplicação que verifica os itens de uma pastar no servidor, e gera links dos arquivos que tem dentro para download…

Eu nunca fiz algo nesse nível antes na faculdade ou até mesmo em projetos pessoais, estou bem perdido nisso para falar a verdade e não tenho ninguém para me orientar, já pesquisei bastante mas até o momento não achei nada…

Alguem pode me passar uma base de como posso desenvolver isso ? quais funções existem para verificar um diretório… agradeço muito qualquer possível ajuda

11 Respostas

Lucas_Camara

Como é esse servidor onde estão os arquivos? Como vc tem acesso à ele?

R

esse servidor é onde está hospedado o tomcat com a aplicação web… então eu iria fazer a aplicação e depois subir no servidor para rodar

R

os arquivos vai estar dentro da webapps/aplicaçãoweb/download

Lucas_Camara

E esse projeto web usa algum framework (como Spring ou algum outro do tipo, por exemplo)?

R

cara o projeto é em jsp, usa servlet, struts… que eu me lembro não usei nenhum framework até agora… mas se for mais facil desenvolver com algum framework não vejo nenhum problema em desenvolver usando.

Lucas_Camara

Você pode usar Servlet para realizar o download dos arquivos.

@WebServlet("/download")
public class DownloadServlet extends HttpServlet {
    private final int ARBITARY_SIZE = 1048;
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) 
      throws ServletException, IOException {
     
        resp.setContentType("text/plain");
        resp.setHeader("Content-disposition", "attachment; filename=sample.txt");
 
        try(InputStream in = req.getServletContext().getResourceAsStream("/WEB-INF/sample.txt");
          OutputStream out = resp.getOutputStream()) {
 
            byte[] buffer = new byte[ARBITARY_SIZE];
         
            int numBytesRead;
            while ((numBytesRead = in.read(buffer)) > 0) {
                out.write(buffer, 0, numBytesRead);
            }
        }
    }
}

Nessa parte:

try(InputStream in = req.getServletContext().getResourceAsStream("/WEB-INF/sample.txt");

Você tem que mudar "/WEB-INF/sample.txt" para o caminho no seu projeto onde estão os arquivos (comece colocando o caminho para um arquivo para testar).

Com essa servlet, basta acessar http://localhost:8080/download e o arquivo será baixado.

Importante: Qual a versão do java que esse projeto usa?

R

puts cara só eu vendo la mesmo para lembrar a versão do java, esse ai ele faz o download de um arquivo especifico ? ou ele varre o que tem na pasta e baixa tudo ?

Lucas_Camara

No exemplo que mandei, somente o download de um único arquivo especificado.

R

entendi, você sabe alguma função que faz a verificação do que tem na pagina ?

Lucas_Camara

Como assim verificar do que tem na página?

R

pagina não kkk na pasta* preciso verificar todos os arquivos que tem na pasta para depois criar um link de download de cada um deles

Criado 5 de abril de 2020
Ultima resposta 5 de abr. de 2020
Respostas 11
Participantes 2