Pdf in browser anzeigen mit einem rest-service
Bin ich eine pdf-Datei generieren mit Jasper reports und ich würde gern ein REST web service, werde wieder dieses pdf und die Anzeige im browser. Ich habe bereits versucht den code hier angezeigt:
REST web services-Methode zum anzeigen von pdf-Datei im browser
Aber auf diese Weise wird die pdf-Datei heruntergeladen werden. Ich würde es vorziehen, es werden im browser angezeigt und erst dann, wenn der Benutzer wünscht, er könnte einen späteren download.
(sorry für die doppelte Frage, aber wie Sie sehen können, die oben genannte Frage wurde nicht beantwortet... )
EDIT:
Arbeiten, REST-Service-Code:
@GET
@Path("/pdf")
@Produces("application/pdf")
public javax.ws.rs.core.Response getPdf() throws Exception
{
File file = new File("E:\\tmp\\test.pdf");
FileInputStream fileInputStream = new FileInputStream(file);
javax.ws.rs.core.Response.ResponseBuilder responseBuilder = javax.ws.rs.core.Response.ok((Object) fileInputStream);
responseBuilder.type("application/pdf");
responseBuilder.header("Content-Disposition", "filename=test.pdf");
return responseBuilder.build();
}
Können Sie fügen Sie Ihre genaue service-code?
InformationsquelleAutor jenny | 2015-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
ändern
Wow... es funktioniert. Vielen Dank
InformationsquelleAutor Saurabh Jhunjhunwala
Mittels InputStream ersten können wir laden Sie die Datei in inputstream, dann pass auf IOUtils.kopieren und verwenden dieser
response.header("Content-Disposition", "attachment; filename=restfile.pdf")
zum download, verwenden Sie diese für die Vorschauresponse.setHeader("Content-disposition", " filename=" + output)
Rückgabetyp der Methode `ResponseEntity
InformationsquelleAutor chandrashekar.n
Können Sie einfach tun, dass mit JasperReportsViewResolver.
Vorausgesetzt, Sie haben eine Datenquelle definiert ist, erstellen Sie eine bean-definition:
Ihre Berichte werden also
/reports/
- Verzeichnis und Ihre Berichte beginnen mit dem Präfixrpt_
. So inreports
Ordner, legen SieJRXML
- Dateien.Und Ihre Anfrage mapping-Methode wird so Aussehen also:
Grundsätzlich können Sie die Bedrohung Ihrer Reportage, wie Sie nur eine andere Ansicht. Datei öffnet sich im neuen tab mit der Fähigkeit, laden Sie es herunter, drucken etc.
InformationsquelleAutor Branislav Lazic
Folgenden das Beispiel von @Branislav Lazic, der Weg, den ich gefunden ist, um
@Autowired
dieJasperReportsViewResolver
im Bericht-controller:Und überschreiben (oder aktualisieren) der headder propertie
"Content-Disposition"
. Zum Beispiel:Ich weiß nicht, ob die der beste Weg aber funktioniert gut für mich.
InformationsquelleAutor JoseAlv