Erstellen und laden Sie die PPTX -Datei von Controller herunter und laden Sie sie herunterJava

Java-Forum
Guest
 Erstellen und laden Sie die PPTX -Datei von Controller herunter und laden Sie sie herunter

Post by Guest »

Ich erstelle eine Funktion, in der Benutzer eine dynamische im Controller konstruierte PowerPoint (PPTX) -Datei herunterladen können. < /p>
Hier ist mein Code: < /p>
@RequestMapping(value = "/download/ppt/{id}", method = RequestMethod.GET, produces = "application/vnd.ms-powerpoint")
public void createPPT(HttpServletRequest request, HttpServletResponse response, @PathVariable final int id) throws IOException {
logger.debug("Get request for generating powerpoint for # " + id);

//Create a new presentation
XMLSlideShow ppt = new XMLSlideShow();
//Retrieve the XSLFSlideMaster that holds layouts
XSLFSlideMaster defaultMaster = ppt.getSlideMasters().get(0);
//Retrieve the XSLFSlideLayout and create the new slide
XSLFSlideLayout layout = defaultMaster.getLayout(SlideLayout.TITLE_AND_CONTENT);
XSLFSlide slide = ppt.createSlide(layout);

OutputStream os = response.getOutputStream();
ppt.write(os);
response.setContentType("application/vnd.ms-powerpoint");
response.setHeader("Content-Disposition", "attachment;filename=\"powerpoint.pptx\"");
os.flush();
os.close();
}
< /code>
Wenn ich den Controller im Browser drücke, sendet es mir einen Stream von Bytes, der auf dem Browser gedruckt wird.
Ich habe erwartet, dass eine Datei heruntergeladen wird. > Fehlt mir etwas, das mir fehlt? Präsentation ", aber das Szenario hat sich nicht geändert.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post