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 11 horas 32 mins
hace 11 horas 32 mins
hace 24 semanas 1 día
hace 44 semanas 6 días
hace 2 años 4 semanas
hace 2 años 8 semanas
hace 2 años 15 semanas
hace 2 años 24 semanas
hace 2 años 26 semanas
hace 2 años 28 semanas