JSF - Téléchargement de fichier
Un petit bout de code tout simple, permettant de lancer le téléchargement d'un fichier sur le poste du client suite à une action.
public final void exportData(final String _fileName, final byte[] _data) throws IOException {
final HttpServletResponse response = FacesContext.getCurrentInstance().getExternalContext().getResponse();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment;filename=" + _fileName + ".pdf");
response.setContentLength(_data.length);
response.getOutputStream().write(_data);
FacesContext.getCurrentInstance().renderResponse();
FacesContext.getCurrentInstance().responseComplete();
}
L'idée est de modifier le contenu et le type de la response. En spécifiant un "attachement;filename=Y" on va demander au navigateur de télécharger le fichier de nom Y. Le content type doit être celui du fichier.
0 commentaires:
Enregistrer un commentaire