2012-12-17 18 views
16

Sto utilizzando Play Framework 2.0.3 per creare un'applicazione che fornisce file Excel che dovrebbero essere scaricati dall'utente.Come scaricare un file con Play Framework 2.0

response().setContentType("application/x-download"); 
response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx"); 

ma, come ottenere l'OutputStream da response() tks

risposta

34

l'azione di gioco in grado di restituire un file:?

response().setContentType("application/x-download"); 
response().setHeader("Content-disposition","attachment; filename=tradeLogTest.xlsx"); 
return ok(new File("/absolute/path/to/tradeLogTest.xlsx")); 

Here's an API for Results

+0

ha funzionato, grazie per il vostro aiuto. –

+14

In Scala c'è una scorciatoia: Ok.sendFile (new java.io.File (myFile)). Forse è lo stesso per Java –

+5

[Qui] (http://www.playframework.com/documentation/2.0.1/ScalaStream) sono i documenti ufficiali per la scorciatoia di @ JulienLafont. – mjswensen

6

opzione di download per i file statici Fornire può essere fatto in gioco come:

Ok.sendFile(new File("path to file/abc.csv"), inline=true).withHeaders(CACHE_CONTROL->"max-age=3600",CONTENT_DISPOSITION->"attachment; filename=abc.csv", CONTENT_TYPE->"application/x-download"); 

Ci sono altri parametri che sono disponibili

anche per Internet Explorer - fare sicuro di aver impostato la disposizione dei contenuti

Problemi correlati