Johnny,
 
Try setting the header for the response:
 
response.setHeader("Content-disposition", "attachment; filename="+filename);
 
Regards,
CD

 
On 6/12/06, Johnny Gonzalez <[EMAIL PROTECTED]> wrote:
Hello everybody,

I have to send a file to the response for the browser
to show a save/open file dialog box to the user, so
he/she can download it and save in in his/her local
file system. As expected the file is stored in a
specific directory in the file system of the server.

What I did was to call this method within a
commandLink component:

public String downloadDB(){
     FacesContext context =
FacesContext.getCurrentInstance();

     HttpServletRequest request = (
HttpServletRequest )

context.getExternalContext().getRequest(  );
     HttpServletResponse response =
        ( HttpServletResponse )
context.getExternalContext().getResponse();

     String filePath = null;
     int read = 0;
     byte[] bytes = new byte[1024];

     filePath = getMyDBPath();

     response.setContentType("application/pdf");
     FileInputStream fis = null;
     OutputStream os = null;

     try {
        fis = new FileInputStream(new
File(filePath));
        os = response.getOutputStream();
        while((read = fis.read(bytes)) != -1){
           os.write(bytes,0,read);
        }
        os.flush();
        os.close();
     }
     catch ( FileNotFoundException e1 ) {
        logger.error(e1);
        logger.info(e1.getMessage());
        request.setAttribute("errors", "File Not
Found.");
     }
     catch ( IOException ioe ) {
        logger.error(ioe);
        logger.info(ioe.getMessage());
        request.setAttribute("errors", "Error reading
file.");
     }
     return "";
  }



After the user clicks on the commandLink, the page I'm
working on, gets refreshed and at the top of it
appears the text of the file I tried to download. This
is not the expected behaviour, what should I do?

thanks a lot,
Johnny

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam
¡gratis!
Regístrate ya - http://correo.yahoo.es

__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
Regístrate ya - http://correo.yahoo.es

Reply via email to