Télécharger le fichier texte de JAX-RS

Dans JAX-RS, pour permettre à l’utilisateur de télécharger un fichier, annotez la méthode avec @Produces (" text/plain ") :

  1. Mettez @ Produces («text/plain») sur la méthode de service, avec un Response

type de retour. Cela signifie que la sortie est un fichier texte.

  1. Définissez « Content-Disposition » dans l’en-tête de réponse pour indiquer au navigateur de s’afficher

une boîte de téléchargement pour l’utilisateur à télécharger.

1. Télécharger le fichier dans JAX-RS

Voir un exemple complet pour télécharger un fichier texte dans 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("/file")
public class FileService {

    private static final String FILE__PATH = "c:\\file.log";

    @GET
    @Path("/get")
    @Produces("text/plain")
    public Response getFile() {

        File file = new File(FILE__PATH);

        ResponseBuilder response = Response.ok((Object) file);
        response.header("Content-Disposition",
            "attachment; filename=\"file__from__server.log\"");
        return response.build();

    }

}

2. Démo

Déployez au-dessus du service JAX-RS, accédez à ce modèle d’URI: “ /file/get “.

Figure: le fichier texte « c: \\ test.log » du serveur est l’invite à télécharger, avec un nouveau nom de fichier « file from server.log »

fichier à télécharger depuis le serveur

Télécharger le code source

Téléchargez-le - lien://wp-content/uploads/2011/07/JAX-RS-Download-TextFile-Example.zip[JAX-RS-Download-TextFile-Example.zip](6 Ko)

Références

lien://tag/download/[téléchargement] jax-rs