dúvida jsp

4 respostas
mleite

Olá,

Pessoal, será que alguém pode ajudar com a dúvida abaixo? :oops:

Estou desenvolvendo um sistema para gerenciameno de arquivos. Tenho uma tela de pesquisa nesse sistema, onde o usuário seleciona o arquivo que quer visualizar. Clicando nesse arquivo, redireciono para um servlet que acessa uma classe minha que busca o arquivo na base de dados e retorna um objeto com o arquivo, extensao do arquivo, tamanho e o tempo gasto para recuperar (que eu ainda nao consegui fazer). Dai eu pego esse objeto e redireciono para outra página onde eu tenho que apresentar essas informações e colocar um link para o usuário baixar o arquivo. eu fiz assim essa tela.. só que não está funcionando o link, daí preciso de uma dica:
<%@page import="javax.servlet.*"%>   
<%@page import="javax.servlet.http.*"%>  
<%@page import="java.io.*"%>
<%@page import="org.apache.commons.io.IOUtils;"%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<%
   gedoo.arqRecuperado arq = (gedoo.arqRecuperado) request.getAttribute("arquivo");
   String l_down = (String) request.getAttribute("l_down");
   if (l_down != null && l_down.equals("true")){
       if (arq != null){
            IOUtils.copy(arq.getArquivo(),response.getOutputStream());
       }
   }
%>
<script>
    function baixar(){
           document.getElementById("l_down").value = "true";
           document.forms[0].submit();     
     }
    
</script>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Recuperação de Arquivo</title>
    </head>
    <body>
        <form action="ResRetornoArq" method="POST" name="download">
       <% if (arq != null){ %>
             Arquivo: <a  >&lt;%=arq.getNmArq()%&gt;</a>
             <br>
             Formato: &lt;%=arq.getFormato()%&gt;
             <br>
             Tamanho: &lt;%=arq.getTam()%&gt;
             &lt;%
          }else{
            out.println("N&atilde;o foi poss&iacute;vel recuperar o arquivo");
          }
           %&gt;
           &lt;input type="hidden" id="l_down" name="l_down"&gt;
          &lt;/form&gt;
    &lt;/body&gt;
&lt;/html&gt;

obrigada!

4 Respostas

mleite

ops…

no nome do arquivo tem esse link, só que não apareceu no forum : a href=’#’ onClick=“baixar()”

mleite

Ninguém???

Naruffy

Bom, se seu problema for baixar o arquivo você pode fazer diferente.
Na hora que vc recupera o arquivo pelo atributo do request, tranformeu em uma array de byte, dai vc pega o outputstream

response.getOutputStream().write(bytes[]);

awe eh soh definir o content-type do response e o contente-disposion, no contente disposion vc presisa colocar attachment, para que o arquivo seja baixado, acho q é issu se num der certo awe eu faço um exemplo ^^

mleite

Oi Naruffy,
eu não entendi sua dica… :oops: to começando no java… .
você poderia me dar um exemplo?
só para deixar claro: eu recebi o arquivo pelo resquest, só que eu só vou fazer o download dele, quando o usuário clicar no link…

Criado 21 de maio de 2008
Ultima resposta 22 de mai. de 2008
Respostas 4
Participantes 2