Retour Fichier De Resteasy Serveur

Salut, je voulais revenir un fichier à partir d'un resteasy serveur. À cette fin, j'ai un lien sur le côté client qui demande un service rest avec l'ajax. Je veux retourner le fichier dans le reste du service. J'ai essayé ces deux blocs de code, mais les deux n'a pas fonctionné comme je le voulais.

    @POST
    @Path("/exportContacts")
    public Response exportContacts(@Context HttpServletRequest request, @QueryParam("alt") String alt) throws  IOException {

            String sb = "Sedat BaSAR";
            byte[] outputByte = sb.getBytes();


    return Response
            .ok(outputByte, MediaType.APPLICATION_OCTET_STREAM)
            .header("content-disposition","attachment; filename = temp.csv")
            .build();
    }

.

@POST
@Path("/exportContacts")
public Response exportContacts(@Context HttpServletRequest request, @Context HttpServletResponse response, @QueryParam("alt") String alt) throws IOException {

    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename=temp.csv");
    ServletOutputStream out = response.getOutputStream();
    try {

        StringBuilder sb = new StringBuilder("Sedat BaSAR");

        InputStream in =
                new ByteArrayInputStream(sb.toString().getBytes("UTF-8"));
        byte[] outputByte = sb.getBytes();
        //copy binary contect to output stream
        while (in.read(outputByte, 0, 4096) != -1) {
            out.write(outputByte, 0, 4096);
        }
        in.close();
        out.flush();
        out.close();

    } catch (Exception e) {
    }

    return null;
}

Quand j'ai vérifié à partir de la console de firebug, deux de ces blocs de code écrit "Sedat BaSAR" en réponse à l'appel ajax. Cependant, je tiens à revenir "Sedat BaSAR" en tant que fichier. Comment puis-je le faire?

Merci d'avance.

Avez-vous trouver une solution?

OriginalL'auteur Sedat Başar | 2011-11-16