Problemas con descargar un archivo desde mi servodr web
Hola... disculpen, tengo un problema al descargar un archivo desde mi servidor web, no me sale ningun error pero tampoco se abre el recuado de descarga este es mi codigo, utilizo jsf y primefaces
Gracias
import java.io.FileInputStream;
import java.io.IOException;
import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
@ManagedBean
@SessionScoped
public class DownloadBean implements Serializable {
private static final long serialVersionUID = 1L;
public void cbDescargar() throws IOException {
FacesContext ctx;
ServletContext request;
File archCSV;
FileInputStream fisArch;
byte[] bytes;
int leer = 0;
String nombreArchivo;
ctx = FacesContext.getCurrentInstance();
request = (ServletContext) ctx.getExternalContext().getContext();
archCSV = new File(request.getRealPath("/reports/reporte.pdf"));
fisArch = new FileInputStream(archCSV);
bytes = new byte[1000];
if (!ctx.getResponseComplete()) {
nombreArchivo = archCSV.getName();
String contentType = "application/pdf";
HttpServletResponse response = (HttpServletResponse) ctx.getExternalContext().getResponse();
response.setContentType(contentType);
response.setHeader("Content-Disposition","attachment;filename=\"" + nombreArchivo + "\"");
ServletOutputStream out = response.getOutputStream();
System.out.println("leer " + leer);
while ((leer = fisArch.read(bytes)) != -1) {
out.write(bytes, 0, leer);
}
out.flush();
out.close();
System.out.println("\nDescargado...\n");
ctx.responseComplete();
}
}
}
- registroya's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios recientes
hace 2 semanas 4 días
hace 2 semanas 4 días
hace 2 semanas 4 días
hace 27 semanas 6 horas
hace 28 semanas 2 días
hace 34 semanas 6 días
hace 1 año 27 semanas
hace 2 años 39 semanas
hace 2 años 43 semanas
hace 2 años 50 semanas