Dans JAX-RS, pour permettre à l’utilisateur de télécharger un fichier image, annotez la méthode avec `@Produces (" image/type d’image ""):
-
Mettez @ Produit (“image/png”) sur la méthode de service, pour une image “png”.
-
Définissez « Content-Disposition » dans l’en-tête de réponse pour demander un téléchargement.
boîte.
1. Télécharger l’image dans JAX-RS
Exemple complet pour télécharger un fichier image à partir de JAX-RS.
import java.io.File;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
@Path("/image")
public class ImageService {
private static final String FILE__PATH = "c:\\mkyong-logo.png";
@GET
@Path("/get")
@Produces("image/png")
public Response getFile() {
File file = new File(FILE__PATH);
ResponseBuilder response = Response.ok((Object) file);
response.header("Content-Disposition",
"attachment; filename=image__from__server.png");
return response.build();
}
}
2. Démo
Accédez à ce modèle d’URI: “ /image/get “.
Figure: le fichier image “ c: \\ mkyong-logo.png ” du serveur est invité à télécharger, avec un nouveau nom de fichier “ image from__server.png ”
Télécharger le code source
Téléchargez-le - lien://wp-content/uploads/2011/07/JAX-RS-Download-ImageFile-Example.zip[JAX-RS-Download-ImageFile-Example.zip](6 Ko)
Références
@Produces JavaDoc]. http://en.wikipedia.org/wiki/Internet media type#Type__image[list of
les types d’images]
lien://tag/download/[téléchargement] image lien://tag/jax-rs/[jax-rs]