Bonjour,
Je souhaite affiché un PDF apres l'avoir généré et l'afficher dans un nouvel onglet. Pour ceci, j'ai un lien de cette forme :
En JS :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a id="3676274" class="bulletinLink" target="_blank" href="#">Bulletin du 2015-04-30</a>
En Java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $(".bulletinLink").click(function(e){ e.preventDefault(); var id = $(this).attr('id'); var oAjax; var sUrl = sUrlBase + '/generatePdf/'+id; oAjax = $.ajax({ url: sUrl, type: 'GET', cache: false, data : '', async : false }); oAjax.done(function(transport) { alert("success"); }); oAjax.fail(function(transport) { alert("fail"); }); });
A l'execution, quand je clic sur le lien, mon pdf est bien généré, l'ajax me retourne un success, mais pas de pdf affiché dans une nouvelle onglet, quesqui me manque ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 @RequestMapping(value = "/generatePdf/{id}", method = RequestMethod.GET) @ResponseBody public final ResponseEntity<byte[]> generateWithResponseBody(@PathVariable("id") final int idBulletin ,final HttpServletRequest httpRequete, final HttpServletResponse httpReponse) throws ApplicationException { ... HttpHeaders headers = new HttpHeaders(); headers.setContentType( MediaType.parseMediaType( "application/pdf" ) ); String filename = "spring_tutorial.pdf"; headers.setContentDispositionFormData( filename, filename ); headers.setCacheControl("must-revalidate, post-check=0, pre-check=0"); ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(out.toByteArray(), headers, HttpStatus.OK); return response; }
Merci
Partager