On dirait qu'il n'y a pas du tout besoin de Javascript. Résolu côté serveur. Dans le cas où quelqu'un cherche une solution Java côté serveur.
Le contrôleur a travaillé sans aucune erreur.
public static void downloadFile(
final HttpServletResponse response,
final String fileName,
final String fileType,
final byte[] decodedDocument) throws Exception{
/* Set the file properties*/
if(fileType == null) {
response.setContentType("application/octet-stream");
} else {
response.setContentType(fileType);
}
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
/* Convert bytes to stream of objects*/
InputStream is = new ByteArrayInputStream(decodedDocument);
/*Download copying the content to destination file*/
IOUtils.copy(is, response.getOutputStream());
response.flushBuffer();
}
Merci Suresh. Donc, quand je suis, je reçois l'erreur suivante. spdf.js: 471 Erreur dans la fonction Object .: saveAs n'est pas défini ReferenceError: saveAs n'est pas défini dans Object. (jspdf.js: 962) à Object .__ safeCallWrapper [en sortie] (jspdf.js: 465) à Object.API.save (jspdf.js: 2029) at Object.success (detail.js: 287) at i (jquery-3.2.1.min.js: 2) à Object.fireWith [as resolveWith] (jquery-3.2.1.min.js: 2) à A (jquery-3.2.1.min.js: 4) à XMLHttpRequest . (jquery-3.2.1.min.js: 4) –
Ajouter cela aussi? https://raw.githubusercontent.com/eligrey/FileSaver.js/master/FileSaver.js –
Oui, cela fonctionne pour moi. Merci. –