Actuellement, j'ai une méthode dans Jersey qui récupère un fichier à partir d'un référentiel de contenu et le renvoie en tant que réponse. Le fichier peut être un fichier jpeg, gif, pdf, docx, html, etc. (essentiellement n'importe quoi). Actuellement, cependant, je n'arrive pas à comprendre comment je peux contrôler le nom de fichier car chaque fichier se télécharge automatiquement avec le nom (download. [Extension de fichier] ie (download.jpg, download.docx, download.pdf). peut définir le nom du fichier? Je l'ai déjà dans une chaîne, mais je ne sais pas comment définir la réponse afin qu'il montre que le nom de fichier au lieu de défaut à « télécharger ».Est-il possible de contrôler le nom de fichier d'une réponse provenant d'un service Jersey Rest?
@GET
@Path("/download/{id}")
public Response downloadContent(@PathParam("id") String id)
{
String serverUrl = "http://localhost:8080/alfresco/service/cmis";
String username = "admin";
String password = "admin";
Session session = getSession(serverUrl, username, password);
Document doc = (Document)session.getObject(session.createObjectId(id));
String filename = doc.getName();
ResponseBuilder rb = new ResponseBuilderImpl();
rb.type(doc.getContentStreamMimeType());
rb.entity(doc.getContentStream().getStream());
return rb.build();
}
Je ne peux pas ajouter cette chaîne à l'en-tête _Content-Disposition_ 'filename '= UTF-8' 'url_encoded_filename'. Est-ce que tu sais pourquoi? – gkiko