Comment télécharger le fichier PDF en utilisant Jersey?
Je besoin de télécharger un fichier pdf à l'aide de Maillot de Services Web
je fais déjà la suite mais la taille du fichier reçu est toujours 0 (zéro).
@Produces({"application/pdf"})
@GET
@Path("/pdfsample")
public Response getPDF() {
File f = new File("D:/Reports/Output/Testing.pdf");
return Response.ok(f, "application/pdf").build();
}
S'il vous plaît aider à faire le bon chemin, merci !!
source d'informationauteur esthrim
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas donner un
File
que l'entité, il ne fonctionne pas comme ça.Vous avez besoin de lire le fichier et donnez les données (comme un
byte[]
) comme l'entité.Edit:
Vous pouvez également regarder le streaming de la sortie. Cela a deux avantages; 1) il permet l'utilisation de servir des fichiers sans la surcharge de la mémoire de lire l'ensemble du dossier et 2), il commence à envoyer des données au client tout de suite sans avoir à lire tout le fichier en premier. Voir https://stackoverflow.com/a/3503704/443515 pour un exemple de streaming.
Mkyong livre toujours. Regarde comme la seule chose qui vous manque, c'est le bon en-tête de réponse.
http://www.mkyong.com/webservices/jax-rs/download-excel-file-from-jax-rs/
Pour les futurs visiteurs,
Cela permettra de trouver le blob situé à l'ID passé et de le retourner comme un document PDF dans le navigateur(en supposant que c'est un pdf stockés dans la base de données):