Ich habe die folgende Spring-MVC @PostMapping(path = "/report/**")
public ResponseEntity report(@RequestBody ReportRequest reportRequest) {
// get the media
try {
ApiReport report = reportRegistry.getReport(reportRequest.getReportId());
if (report == null) {
throw new ApiReportException("Report not found");
}
byte[] reportBytes = report.processReport(reportRequest.getParameters());
if (reportBytes == null || reportBytes.length == 0) {
throw new ApiReportException("Report length was 0");
}
HttpHeaders headers = new HttpHeaders();
headers.set(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=output.pdf");
headers.setContentType(MediaType.APPLICATION_PDF);
headers.setContentLength(reportBytes.length);
headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
ResponseEntity result = new ResponseEntity(reportBytes, headers, HttpStatus.OK);
return result;
} catch (ReportException e) {
throw new ApiReportException(e.getMessage(), e);
}
}
< /code>
Der Bericht wird generiert und Bytes werden in den Browser zurückgegeben. Was nicht passiert, ist, dass ich nicht aufgefordert bin, die Datei herunterzuladen, und eine Anwendung ist auch nicht geöffnet, um die PDF zu verarbeiten.
const response = this.$http.post(this.reportUrl, reportRequest, {headers:headers, responseType: "blob"});
return response;
< /code>
Ich mache hier wahrscheinlich nur einen sehr dummen Fehler. Wenn jemand darauf hinweisen kann, würde ich es zu schätzen wissen. https://i.sstatic.net/65soc3tb.png "/>
Der Spring MVC -Controller generiert PDF, fordert jedoch nicht zum Download auf ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post