Descargar XLS y PDF sin abrirlos en el navegador (versión Servlet)
Anteriormente hice un post de cómo "Descargar XLS y PDF sin abrirlos en el navegador" pero fue realizado con PHP. Ahora les traigo el mismo ejemplo pero usando Servlet
Para realizar esto, es necesario tener un Servlet que reciba como parametro el
url
que le indica dónde está el archivo a mostrar para descargar. En este ejemplo he preparado para que descargue desde cualquier host.protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String paramUrl = request.getParameter("url"); //el URL enviado como parametro URL url = new URL(paramUrl); response.setContentType("application/octet-strem"); response.setHeader("Content-Disposition", "attachment;filename='" + url.getFile() + "'"); //preparando el 'download' al navegador URLConnection connection = url.openConnection(); InputStream in = connection.getInputStream(); //conectando para descargar OutputStream out = new DataOutputStream(response.getOutputStream()); byte[] buffer = new byte[BUFFER_SIZE]; int sizeRead = 0; while ((sizeRead = in.read(buffer)) >= 0) { //leyendo del host out.write(buffer, 0, sizeRead); //escribiendo para el navegador } in.close(); // y cerrando out.close(); // todo }
El proyecto utilizado para este ejemplo se encuentra aquí:
http://kenai.com/projects/apuntes/downloads/download/ejemplos%252Fweb%252FDescargarWebApp.tar.gz
Comentarios
Publicar un comentario
Si quieres hacer una pregunta más específica, hazla en los foros que tenemos habilitados en Google Groups
Ah! solo se permiten comentarios de usuarios registrados. Si tienes OpenID, bienvenido! Puedes obtener su OpenID, aquí: http://openid.net/