Artículo
|
Descargar mediante un Servlet archivos XLS y PDF sin abrirlos |
A la hora de programar una aplicación que nos genere un archivo XLS o PDF en Java, por defecto siempre se abre antes de poder hacer la descargar.
Esto lo podemos modificar para evitar que se abra, sino que cuando se pulse en el enlace, directamente empiece la descarga.
Vamos a crear un Servlet que nos permita hacer esta acción que hemos comentado. El código sería el siguiente.
Lo que hacemos en el código es pasarle por Get la url donde está el archivo que hay que descargar. Una vez que lo recuperamos, en la respuesta indicamos el tipo de archivo que se mandará a la vez que vamos recuperando el contenido del mismo para su descarga.
Vía: Apuntesdejava
Esto lo podemos modificar para evitar que se abra, sino que cuando se pulse en el enlace, directamente empiece la descarga.
Vamos a crear un Servlet que nos permita hacer esta acción que hemos comentado. El código sería el siguiente.
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
}
Lo que hacemos en el código es pasarle por Get la url donde está el archivo que hay que descargar. Una vez que lo recuperamos, en la respuesta indicamos el tipo de archivo que se mandará a la vez que vamos recuperando el contenido del mismo para su descarga.
Vía: Apuntesdejava
![]() |
Publicado por: angel carrero |
|
|
Comentarios
Últimas noticias
· factura
Últimos artículos














































