web-dev-qa-db-fra.com

Comment télécharger un fichier avec Play Framework 2.0

J'utilise Play Framework 2.0.3 pour créer une application fournissant des fichiers Excel pouvant être téléchargés par l'utilisateur. 

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

mais, comment obtenir le flux de sortie de response()? tks

17
ma nicolas

L'action de lecture peut renvoyer un fichier:

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

Voici une API pour les résultats

36
biesior

L'option de téléchargement pour les fichiers statiques peut être effectuée dans Play en tant que:

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");

Il y a d'autres paramètres qui sont également disponibles

Pour Internet Explorer - assurez-vous de définir la disposition du contenu

6
AJ.P

Servir des fichiers Si ce n’est pas un problème de charger tout le contenu en mémoire pour un contenu simple, qu’en est-il d’un grand ensemble de données? Supposons que nous voulions renvoyer un fichier volumineux au client Web.

en savoir plus sur: http://www.playframework.com/documentation/2.0.x/JavaStream

0
teeyo